如何在Python中将字符串列表写入文件?

时间:2013-11-04 21:33:37

标签: python python-2.7 file-io

这是我的代码:

from random import random

f = open('Attractors1.txt', 'w')
for i in range(10):
    theta = (3.14/2)*random()
f.write(str(theta))

我正在尝试创建一个包含10个theta值的列表,以便我可以在另一个程序中调用它们,但我认为这些对象没有正确写入。我怎么知道我是否写作?每当我运行代码并执行f.read()时,我都会收到错误消息,说文件未打开。

2 个答案:

答案 0 :(得分:3)

您无法以只写模式打开文件read。 :)

由于你没有在循环中写作,你实际上只会吐出一个数字。即使你修复了这个问题,你也会在一行中得到一堆数字,因为你没有添加换行符。 .writeprint不同。

在处理文件时使用with也是个好主意,以确保文件在您认为应该关闭时关闭。

所以试试这个:

import math
from random import random

with open('Attractors1.txt', 'w') as f:
    for i in range(10):
        theta = (math.PI / 2) * random()
        f.write("{0}\n".format(theta))

答案 1 :(得分:-1)

f = open('Attractors1.txt', 'w')
for i in range(10):
  theta = (3.14/2)*random()
f.write(str(theta))
f.close()

然后阅读:

f = open('Attractors1.txt','r')
text = f.read()
print text

编辑:wups打败它