文本文件中的输出与python输出不同

时间:2013-11-13 13:39:37

标签: python

我遇到了一个问题。每当我运行代码时,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()    

1 个答案:

答案 0 :(得分:6)

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

以explitily方式添加换行符:

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

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

print(s, file=Numberfile)

这一切都假设您使用的是Python 3;在Python 2中,您仍然可以在逐个模块的基础上使用相同的print函数替换print()语句,方法是添加:

from __future__ import print_function

位于模块顶部。