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

标签 python file loops

我想创建一个文件:

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/

相关文章:

python - 使用装饰器收集实例方法?

c - 有没有办法在 Linux 中创建虚拟文件描述符?

android - 在 Parse.com 获取图像文件的链接

python - 运行 X 次进程的更多 Pythonic 方式

c - 如何在 C 中用十进制值递增 for 循环

python - 为什么使用正则表达式 finditer() 而不是 findall()

python - 从文件列创建嵌套列表 (Python)

python - 如何找到相关矩阵的相关性低于给定值的最大子集?

android - 如何在 Android 上找到传递给 Delphi 应用程序的文件?

javascript - jQuery 下一个循环不会回到第一个 child