使用 python 在存档中打印

print in an archive with python

我在 python 中的一个小程序有问题: 我想要的是写在一个名为 text numbers from 0 to 10 的存档上,但是程序一直给我错误并且不打印任何东西。

i=0
while(i<11):
    outfile = open('text.txt', 'a') 
    outfile.write('\n'+i)
    outfile.close()
    i=i+1

我试过

outfile.write('\n'+i)
outfile.write('\n',i)
outfile.write('\n'),i
outfile.write(i)

但没有一个有效,你能告诉我我做错了什么吗?

假设您想要一个如下所示的文件:

1
2
3
4
5
6
7
8
9

你试过吗?

>>> fo = open('outfile.txt', 'w')
>>> for i in range(1,10):
...     fo.write(str(i)+"\n")
>>> fo.close()

您可能遇到的错误是:

TypeError: unsupported operand type(s) for +: 'int' and 'str'

这是因为您要连接一个字符串和一个整数。通过用 str()

将整数 (i) 括起来将其转换为字符串

我猜你遇到的错误涉及将字符串与整数连接起来。

尝试:

outfile.write(str(i) + '\n')

尝试:

while(i<11):
    outfile = open('text.txt', 'a') 
    outfile.write('\n'+str(i))
    outfile.close()
    i=i+1

我得到一个 text.txt,0-10 在不同的行上,顶部有一个空行。

在 while 循环的每次迭代中,您都是 openning/closing 您的文件。为什么做事过头了?一旦文件打开,您就可以轻松完成这项工作。

此外,您尝试编写 '\n'(字符串)加上 i(整数)。这是错误的,您也需要将 i 转换为字符串。

试试这个代码:

with open('text.txt', 'w') as f:
    for i in range(11):
        f.write(str(i) + '\n')

希望对您有所帮助。