【发布时间】:2015-01-30 16:15:39
【问题描述】:
我是一个相当新的程序员。
我目前正在尝试从 .txt 文件中查找数据并将它们添加到字符串或数组中,然后最终将其添加到 .csv 文件中。
我正在查看的数据目前以这种形式存在,在每个 .txt 文件中以随机间隔多次出现:
' 线通量:3.0008e-19 +/- 2.6357e-21 [W/cm^2]'
因此,在阅读了几种访问方法后,我想出了一个不会产生任何错误但也不会打印任何内容的代码:
cwd = os.getcwd()
def open_txt():
flux = {}
for file in cwd:
if file.endswith('.txt'):
f = open(file,'r')
lines = f.readlines()
for line in lines:
if line.startswith(' Line Flux:'):
line.strip(' Line Flux: ' + '[W/cm^2]')
flux.append(line)
print flux
open_txt()
有什么明显的地方我做错了吗?
感谢阅读。任何有帮助的回复将不胜感激。
【问题讨论】:
-
不确定这是否是您的问题的唯一原因,但
strip不会修改字符串,它会返回一个包含您所需更改的全新字符串。如果你想使用它,你必须将结果分配给某个东西。 -
不是问题,但您没有关闭文件。将
f.close()放在方法的末尾,或者更好的是,使用with open(file) as f:让它自动关闭。 -
flux应该是一个列表[]而不是一个字典{}
-
你试过regular expressions,因为你知道数据的形式吗?
标签: python strip readlines startswith