1

我遇到了一个问题。每当我运行代码时,Python 中的输出都是正确的。所有的数字都是这样显示的。

1
2
3
4
5

将输出写入文件时。所有数字都存储在一行中,如下所示:

12345

有人能帮忙吗?

这是代码:

def main():
    Numberfile = open ('number_list.txt', 'w')
    s = 0
    while s < 100:
        s += 1
        Numberfile.write(str(s))
        print (s)
    Numberfile.close()  


main()    
4

1 回答 1

6

print()为您添加换行符。写入文件不会。

显式添加换行符:

Numberfile.write(str(s) + '\n')

或使用print()写入文件的函数:

print(s, file=Numberfile)

这一切都假设您使用的是 Python 3;在 Python 2 中,您仍然可以通过添加以下内容逐个模块地将print语句替换为相同的函数:print()

from __future__ import print_function

在模块的顶部。

于 2013-11-13T13:40:39.580 回答