Python - 提取下一行文本文件

时间:2018-04-02 07:15:11

标签: python python-3.x

我正在尝试从.txt文件中提取特定信息。我找到了一种方法来隔离我需要的线条;然而,印刷它们已被证明是有问题的。

    with open('RCSV.txt','r') as RCSV:
       for line in RCSV.read().splitlines():
          if line.startswith('   THETA'):
               print(line.next())

当我使用line.next()时,它会给我这个错误," AttributeError:' str'对象没有属性' next'"

Here is a link to the .txt file Here is a link to the area of the file in question

我尝试做的是在以' THETA PHI'开头的行之后提取行。等

4 个答案:

答案 0 :(得分:1)

您可以使用next(input),因为:

with open('RCSV.txt', "r") as input:
    for line in input:
        if line.startswith('   THETA'):
           print(next(input), end='')
           break

答案 1 :(得分:1)

您可以在找到密钥后使用标记来获取所有行。

<强>实施例

with open('RCSV.txt','r') as RCSV:
    content = RCSV.readlines()
    flag = False                         #Check Flag
    for line in content:
        if not flag:
            if line.startswith('   THETA'):
                flag = True
        else:
            print(line)                  #Prints all lines after '   THETA'

或者,如果您只需要以下一行。

with open('RCSV.txt','r') as RCSV:
    for line in RCSV:
        if line.startswith('   THETA'):
            print(next(RCSV))

答案 2 :(得分:0)

你可以试试这个:

with open('RCSV.txt','r') as RCSV:
    for line in RCSV:
        if line.startswith('   THETA'):
            next_line = RCSV.readline() # or RCSV.next()
            print(next_line)

请注意,在您的下一次迭代中,line将是next_line之后的行。

答案 3 :(得分:0)

String对象下一个没有属性,next是文件对象的属性。所以fileobject.next()返回下一行,即RCSV.next()。