用 Python codecs.write 写换行符
Writing newline with Python codecs.write
f = codecs.open('import.txt', 'w', 'utf-8')
for x in list:
string = "Hello"
f.write(string+'\n')
f.close()
出于某种原因,这段代码不会向文件写入换行符,如果我使用 open
函数而不是 codecs.open
.
就会这样做
我该如何解决这个问题?
不确定您在说什么...还向您展示了如何获得完整的可运行示例
>>> 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'
>>>
根据评论,真正的答案是
不要使用记事本
codecs.open()
does not handle newlines correctly ('U'
mode is deprecated):
Underlying encoded files are always opened in binary mode. No
automatic conversion of '\n' is done on reading and writing.
改用内置 open()
函数。如果您希望相同的代码适用于来自同一来源的 Python 2 和 3;你可以使用 io.open()
.
f = codecs.open('import.txt', 'w', 'utf-8')
for x in list:
string = "Hello"
f.write(string+'\n')
f.close()
出于某种原因,这段代码不会向文件写入换行符,如果我使用 open
函数而不是 codecs.open
.
我该如何解决这个问题?
不确定您在说什么...还向您展示了如何获得完整的可运行示例
>>> 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'
>>>
根据评论,真正的答案是
不要使用记事本
codecs.open()
does not handle newlines correctly ('U'
mode is deprecated):
Underlying encoded files are always opened in binary mode. No automatic conversion of '\n' is done on reading and writing.
改用内置 open()
函数。如果您希望相同的代码适用于来自同一来源的 Python 2 和 3;你可以使用 io.open()
.