首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python,在文本文件中捕获值

Python,在文本文件中捕获值
EN

Stack Overflow用户
提问于 2019-03-05 09:08:02
回答 2查看 31关注 0票数 0

我有一个文件( fluiddynamic的输出),在该文件中,我希望在一行以dilute dimensional Zimm longest开头的行之后获得写入的值。

下面报告了感兴趣的行:

代码语言:javascript
复制
 dilute dimensional Zimm longest relaxation time, dil_chtime=
    3.29486769328041

到目前为止,我只是写了这一行:但我不知道为什么它没有抓住价值3.2948676932.

代码语言:javascript
复制
 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=,我如何才能得到值?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-03-05 09:22:32

您可以使用next(f)获取下一行

Ex:

代码语言:javascript
复制
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
票数 1
EN

Stack Overflow用户

发布于 2019-03-05 09:20:08

memo.dat:

代码语言:javascript
复制
dilute dimensional Zimm longest relaxation time, dil_chtime=

    3.29486769328041

Python2.x

代码语言:javascript
复制
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

输出

代码语言:javascript
复制
3.29486769328041

Python3.x

使用next()

代码语言:javascript
复制
if (line.startswith('dilute dimensional Zimm longest')):
    print(next(f))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54999076

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档