f = codecs.open('import.txt', 'w', 'utf-8')
for x in list:
string = "Hello"
f.write(string+'\n')
f.close()
由于使用了
codecs.open
而不是open
函数,因此该代码没有将换行符写入文件中。如何解决这个问题?
f = codecs.open('import.txt', 'w', 'utf-8')
for x in list:
string = "Hello"
f.write(string+'\n')
f.close()
codecs.open
而不是open
函数,因此该代码没有将换行符写入文件中。codecs.open()
无法正确处理换行符('U'
模式已被弃用):
底层编码文件始终以二进制模式打开。在读取和写入时不会自动转换'\n'。
请改用内置的open()
函数。如果您希望相同的代码可以在Python 2和3上从同一源代码中运行,则可以使用io.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'
>>>
不要使用记事本
stdio
会将\n
转换为\r\n
吗? - ivan_pozdeevcodecs
总是将底层流打开为二进制。 - ivan_pozdeev'\n'
дјҡиў«иҪ¬жҚўдёә os.linesep
пјҲеңЁ Windows дёҠжҳҜ '\r\n'
пјүгҖӮcodecs
жЁЎеқ—дёҚдјҡжү§иЎҢжӯӨж“ҚдҪңгҖӮиҜ·еӢҝдҪҝз”Ёе®ғгҖӮиҜ·ж”№з”Ё io.open
гҖӮ - jfs