【发布时间】:2019-05-24 13:28:31
【问题描述】:
我正在尝试从包含许多其他信息的文本文件中读取波长列表,但我不知道如何使 python 仅在“波长”之后才开始添加到列表中。但是,我可以让它在 } 结束。我确定我错过了一些非常明显的东西。我的文本文件有以这种格式存储的波长:
info1 = {xxx}
info2 = {xxx}
Wavelength = {
1.1,
2.2,
3.3
}
info3 = {
1.1,
2.2
}
我能够通过查找数据所在的行并在该范围内读取来将其读入列表,但我希望它更具适应性。
wavelength = []
with open(header, 'r') as hdr:
for line in hdr:
if 'wavlength' in line:
#add next lines to list until }
if float in line:
if '}' in line:
break
wavelength.append(line)
print(wavelength)
#output I want
[1.1,2.2,3.3]
#output I get
['}\n']
我知道如何删除特殊字符和新行,所以在我点击 } 之前我并不担心阅读下一行。
【问题讨论】:
标签: python-3.x list file