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)) |
您可以使用
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) |
注意,在下一个迭代中,