我正在尝试从.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'开头的行之后提取行。等
答案 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()。