gpt4 book ai didi

python - 从文件中导入特定文本以在 Python 中列出

转载 作者:行者123 更新时间:2023-12-04 02:29:55 26 4
gpt4 key购买 nike

我有一个如下所示的文本文件:


line A
line B
line C
line D

objective
8.5770822e+000
3762931e+000
0996787e+000
0070925e+000
0003053e+000
9999994e+000

line E
line F
line G

我想将“目标”一词下的数字导入 Python 列表。

挑战:“目标”行下的行数(带数字)不必相同。它因文件而异。我正在尝试开发通用代码。所以停止条件必须基于数字下面的空行。

我的想法:我能够使用代码 if line.startswith("objective") 访问“objective”行但是访问下面的行直到找到空白行似乎具有挑战性。

你能帮我解决这个问题吗?

非常感谢。

最佳答案

实现此目的的一种方法是设置一个标志,指示是否已看到“目标”一词。

像这样:

res = []
objective_seen = False
with open(filename) as fh:
for line in fh:
if objective_seen:
if line:
res.append(line)
else: # blank line
break
else: # objective not yet seen
if line.startswith('objective'):
objective_seen = True

另一种方法是有两个循环,一个处理文件直到“目标”,另一个处理其余部分:

res = []
with open(filename) as fh:
for line in fh:
if line.startswith('objective'):
break
else:
raise ValueError('No "objective" section in file')

for line in fh:
if line:
res.append(line)
else:
break

关于python - 从文件中导入特定文本以在 Python 中列出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64875560/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com