我有一个文本文件,其中包含我想用Python阅读的数据。文件跟随数据:
nodCoord = 0 0 0 0.5 0 1 0.5 0 0.5 1
1 0 1 0.5 1 1 1.5 0 1.5 1
2 0 2 0.5 2 1
# Element data: element type, material, connectivities
elCon = QUAD8 1 1 4 6 7 8 5 3 2
现在我必须阅读" nodCoord ="线和它下面的所有线都是以数字开头的数字,比如"坐标",但我不知道会有多少行。我该怎么办?
答案 0 :(得分:1)
在符合条件的情况下阅读这些内容。
def extract_lines(self, file_name):
with open(file_name) as f:
for line in f:
if line.startswith('nodCoord'):
line = line.split('=')[1] # if you want to exclude the nodCoord
yield line
continue
while True:
if line[0].isdigit():
yield line
else:
break
这将为您提供一个预期行的迭代器,然后您可以将其解析为数组。
另请注意,这将为您提供以nodCoord
开头并以整数开头的每组行。如果您对这些行的其余部分不感兴趣,或者文件中没有这些行,您可以在内部代码之后的break
循环中放置for
。