0

这是我的代码:

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() 时,我都会收到一条错误消息,指出文件未打开。

4

2 回答 2

3

您不能read从以只写模式打开的文件中。:)

由于您不是在循环中写入,因此您实际上只会吐出一个数字。即使你解决了这个问题,你也会在一行中得到一堆数字,因为你没有添加换行符。 .write不像print

在处理文件时使用它也是一个好主意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))
于 2013-11-04T21:36:50.577 回答
-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 被打败了

于 2013-11-04T21:39:21.833 回答