用Python codecs.write编写换行符

时间:2015-02-10 18:45:19

标签: python python-3.x

f = codecs.open('import.txt', 'w', 'utf-8')

for x in list:
    string = "Hello"
    f.write(string+'\n')

f.close()

由于某些原因,此代码不会为文件写新行,就像我使用open函数而不是codecs.open一样。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:3)

codecs.open() does not handle newlines correctly ('U' mode is deprecated)

  

底层编码文件始终以二进制模式打开。没有   自动转换' \ n'是在阅读和写作。

使用内置open()功能。如果您希望相同的代码在同一来源的Python 2和3上运行;你可以使用io.open()

答案 1 :(得分:1)

不确定你在说什么......还告诉你如何拥有一个完整的可运行的例子

>>> import codecs
>>> f = codecs.open('import.txt', 'w', 'utf-8')
>>> f.write("hello\nworld\n")
>>> f.close()
>>> print repr(open("import.txt").read())
'hello\nworld\n'
>>>

根据评论,真正的答案是

不要使用NOTEPAD