我有一个数字列表,需要将它们全部放入自己行的文本文件中。我无法弄清楚如何调用每个项目并打印它们。我只知道如何将字符串写入文本文件。
我是否必须计算每个项目并以某种方式使用范围功能?一定有更好的方法。我非常坚持从什么开始。
f = open("numbers.txt", "r")
numlist = []
for line in f:
numlist.extend([n for n in map(float, line.split()) if n > 0])
print numlist
f.close()
g = open("output.txt", "w")
g.write(#writes each item in the list on its own line)
g.close()
答案 0 :(得分:2)
或使用字符串格式
g = open('output.txt', 'w')
for num in numlist:
g.write("%f\n" % num)
g.close()
或者您可以将它们更改为列表理解中的字符串:
numlist.extend([str(n) for n in map(float, line.split()) if n > 0])
答案 1 :(得分:2)
由于它似乎是家庭作业,我只想指点一下:
您可以使用一个with
语句处理多个文件,请查看:Python: open multiple files using “with open”?:(我会为您编写此文件)
with open('numbers.txt') as input_file, open('output.txt', 'w') as output_file:
逐行循环input_file
。
strip()
和split()
上的行和循环。检查你的继续:
if float(num) > 0:
如果通过您的num + '\n'
。