将每个项目放入列表并将其写入文本文件

时间:2012-03-21 18:03:18

标签: python list

我有一个数字列表,需要将它们全部放入自己行的文本文件中。我无法弄清楚如何调用每个项目并打印它们。我只知道如何将字符串写入文本文件。

我是否必须计算每个项目并以某种方式使用范围功能?一定有更好的方法。我非常坚持从什么开始。

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()

2 个答案:

答案 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'