gpt4 book ai didi

python-3.4 - 在python中的匹配行之后读取下一行

转载 作者:行者123 更新时间:2023-12-03 15:46:30 25 4
gpt4 key购买 nike

我正在尝试在python中匹配后转到下一行。我有一个文件:

ratio of lattice parameters  b/a  c/a
1.000000000000 1.000000000000
lattice parameters a b c [a.u.]
9.448629942895 9.448629942895 9.448629942895
因此,当我在行首输入 "lattice parameters"时,我将读取下一行(例如 9.448629942895 9.448629942895 9.448629942895)
我在做:
#!/usr/bin/python3
import sys

inpf = str(sys.argv[1])
print (inpf)
with open(inpf, "r") as ifile:
for line in ifile:
if line.startswith("lattice parameters"):
print(line.strip())
next(ifile)
return next(ifile)
就像被接受的答案 here一样。
但是,就我而言,它给出了错误:
python xband.py AlSi2S2.sys 
File "xband.py", line 11
return next(ifile)
SyntaxError: 'return' outside function
我在这里做错了什么?
注意:我想去阅读下一行。我对“返回”没有特别的兴趣
我正在使用 Python 3.4.2

最佳答案

尝试:

with open(inpf, "r") as ifile:
for line in ifile:
if line.startswith("lattice parameters"):
print(next(ifile, '').strip())

next(iterator[, default])
Retrieve the next item from the iterator by calling its next() method. If default is given, it is returned if the iterator is exhausted, otherwise StopIteration is raised.

关于python-3.4 - 在python中的匹配行之后读取下一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32399158/

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