【问题标题】:I want to read in strings to the new line character in Python 2.7我想在 Python 2.7 中读取换行符的字符串
【发布时间】:2016-06-17 03:13:47
【问题描述】:

我有一个长文本文件,我试图从中提取某些字符串。这些字符串的长度随文本文件的变化而变化,但始终位于某些标识符之后。例如,假设我的文本文件如下所示:

垃圾短信...

姓名:
年龄:

罗伯特

二十
四。

垃圾短信...

我一直都知道 "Robert" 字符串位于 "Age:\n\n" 但我不确定它会以 "\n\n" 结束多长时间,原理与“二十四”。细绳。我试过使用

namepos1 = string.find("年龄:")

namepos2 = namepos1 + 6

这将给出我想要的字符串的起始位置,但我不知道如何将它保存到一个变量中,以便它始终将整个字符串保存到两个换行符。如果它是固定长度而不是可变的,我想我可以使用:

name = string[namepos2:length]

但我们将不胜感激任何帮助。我可能不得不去做完全不同的事情,但这是我第一次考虑并尝试这样做。
谢谢!

【问题讨论】:

    标签: python python-2.7


    【解决方案1】:

    您可以通过查找年龄,然后将光标向前移动两行,如果您想这样做,如果您想要“垃圾”之后的整个文本部分,并且您知道该文本有多长,这个也可以:

    lookup = 'age'
    lines=[]
    with open('C:/Users/Luke/Desktop/Summer 2016/Programs/untitled5.txt') as myFile:
        for num, line in enumerate(myFile, 1):
            if lookup in line:
                lines.append(num+2)
    ofile=open('C:/Users/Luke/Desktop/Summer 2016/Programs/untitled5.txt')
    line=ofile.readlines()
    interestinglines=''
    for i in range(len(lines)):
        interestinglines+=(line[lines[i]]+'\n')
    

    您可能需要稍微修改一下,但我相信这应该主要重现您正在寻找的内容。 '\n' 被添加到 line[lines[i]] 上,以便您可以将其保存到新文件中。

    【讨论】:

      【解决方案2】:

      在字符串中找到位置后,可以将字符串除以\n\n,得到第一项。

      s = file_str[namepos2 :]
      name = s.split('\n\n')[0]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-05-28
        • 2012-07-06
        • 1970-01-01
        • 2015-02-04
        • 2019-09-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多