我想创建一个文件:
X 值:
1
2
3
4
5
.
.
.
999
为了做到这一点,我写了那个命令,但是 ;
错误如:argument 1 must be string or read-only character buffer, not float
,,
from numpy import *
c = open("text.txt","w")
count = 0
while (count < 100):
print count
count = count + 0.1
c.write (count)
c.close
最佳答案
写入文件时,您必须写入字符串,但您正在尝试写入浮点值。使用 str()
将它们转换为字符串以供写入:
c.write(str(count))
请注意,您的 c.close
行实际上什么也没做。它引用文件对象上的 .close()
方法,但实际上并不调用它。您也不想在循环期间关闭文件。相反,将该文件用作上下文管理器以在您完成后自动将其关闭。您还需要包括换行符,明确地,写入文件不包括像 print
语句那样的那些:
with open("text.txt","w") as c:
count = 0
while count < 100:
print count
count += 0.1
c.write(str(count) + '\n')
请注意,您将计数器递增 0.1,而不是 1,因此您创建的条目比您的问题所暗示的要多 10 倍。如果你真的只想写 1 到 999 之间的整数,你也可以使用 xrange()
循环:
with open("text.txt","w") as c:
for count in xrange(1, 1000):
print count
c.write(str(count) + '\n')
关于python - 在文件命令 Python 中添加循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17653529/