Skip to main content
 首页 » 编程设计

python之在文件命令 Python 中添加循环

2025年05月04日1852php

我想创建一个文件:

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')