我是Python的新手,虽然我相信这可能是一个琐碎的问题,但我已经花了一整天尝试以不同的方式解决它。我有一个包含如下数据的文件:
<string>
<integer>
<N1>
<N2>
data
data
...
<string>
<integer>
<N3>
<N4>
data
data
...
这个需要读取多组数据,每一组数据包括若干行X、Y和Z的数值。如果只有一组数据,可以先读取所有数据,然后获取N1、N2的值,将其切片成X、Y和Z,并进行重塑处理。但是如果文件中包含多组数据,如何只读取下一组数据之前的一个字符串,然后对下一组数据进行相同的操作,直到读取完整个文件呢?
我尝试定义了一个函数:
def dat_fun():
with open("inpfile.txt", "r") as ifile:
for line in ifile:
if isinstance('line', str) or (not line):
break
for line in ifile:
yield line
但是它没有工作,我得到的数组中没有数据。任何评论将不胜感激。谢谢!