我有一个文件( fluiddynamic的输出),在该文件中,我希望在一行以dilute dimensional Zimm longest开头的行之后获得写入的值。
下面报告了感兴趣的行:
dilute dimensional Zimm longest relaxation time, dil_chtime=
3.29486769328041到目前为止,我只是写了这一行:但我不知道为什么它没有抓住价值3.2948676932.
zimm = 0.
with open('memo.dat','r') as f:
for line in f.readlines() :
if(line.startswith(' dilute dimensional Zimm longest')):
print (line)
zimm = f.readline() # I suppose that this read the next line
else:
pass这个框架的输出是:dilute dimensional Zimm longest relaxation time, dil_chtime=,我如何才能得到值?
发布于 2019-03-05 09:22:32
您可以使用next(f)获取下一行
Ex:
with open('memo.dat') as f:
for line in f: #Iterate Each Line
if line.strip().startswith('dilute dimensional Zimm longest'): #Check Condition
print(next(f)) #Get Value
break发布于 2019-03-05 09:20:08
memo.dat:
dilute dimensional Zimm longest relaxation time, dil_chtime=
3.29486769328041Python2.x
zimm = 0.
nextLine = False # a boolean flag to get the next line
with open('memo.dat', 'r') as f:
content = f.readlines()
# you may also want to remove empty lines
content = [l.strip() for l in content if l.strip()]
for line in content:
try:
if (line.startswith('dilute dimensional Zimm longest')):
nextLine = not nextLine
elif nextLine:
print(line)
nextLine = not nextLine
except StopIteration:
pass输出
3.29486769328041Python3.x
使用next()
if (line.startswith('dilute dimensional Zimm longest')):
print(next(f))https://stackoverflow.com/questions/54999076
复制相似问题