这是我的代码:
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()时,我都会收到错误消息,说文件未打开。
答案 0 :(得分: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))
答案 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打败它