关于python:将每个项目放在一个列表中并将它们写在文本文件中

Taking each item in a list and writing them on a text file

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

我是否需要计算每个项目并以某种方式使用范围函数?必须有更好的方法。我很难从什么开始。

1
2
3
4
5
6
7
8
9
10
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()


因为这似乎是家庭作业,所以我要指出一些问题:

  • 你可以用一条with语句处理多个文件,看看:python:用"with open"打开多个文件。(我给你写这封信)

    1
    with open('numbers.txt') as input_file, open('output.txt', 'w') as output_file:
  • input_file的逐行循环。

  • strip()split()的线路和回路。
  • 检查您的继续情况:

    1
    if float(num) > 0:
  • 如果和你的num + '
    '
    一起通过。


或使用字符串格式

1
2
3
4
5
g = open('output.txt', 'w')
for num in numlist:
    g.write("%f
"
% num)
g.close()

或者您可以在列表理解中将它们更改为字符串:

1
numlist.extend([str(n) for n in map(float, line.split()) if n > 0])