关于Python:Python – 提取下一行文本文件

Python - Extracting next line of text file

本问题已经有最佳答案,请猛点这里访问。

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

1
2
3
4
    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'"

这是指向.txt文件的链接这里有一个指向相关文件区域的链接

我要做的是提取一行,沿着以"theta phi"等开头的行。


找到键后,可以使用标志获取所有行。

前任:

1
2
3
4
5
6
7
8
9
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'

或者如果你只需要下面的一行。

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


您可以使用next(input)作为:

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


字符串对象没有属性next,next是文件对象的属性。所以fileobject.next()返回下一行,即rcsv.next()。


您可以尝试以下操作:

1
2
3
4
5
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之后的行。