Python 没有将换行符写入文件,而它应该
Python does not write newline to file, while it is supposed to
xadd = open('x.txt', 'w', encoding="utf-8")
hha = [ 'j', 'a', 's', 'o', 'n', '\n', 'b', 'r', 'o', 'w', 'n']
a = ''.join(hha)
xadd.write(a)
xadd.close()
文件的输出是jason\nbrown。我可以假设问题出在 a 变量上,因为当我正常执行时,没有 join 文件有换行符。有人可以向我解释为什么这不起作用并给我解决这个问题的方法吗?
简单修复。你的 \n
应该是 \n
xadd = open('x.txt', 'w', encoding="utf-8")
hha = [ 'j', 'a', 's', 'o', 'n', '\n', 'b', 'r', 'o', 'w', 'n']
a = ''.join(hha)
xadd.write(a)
xadd.close()
还可以考虑在打开文件时使用上下文管理器。即使发生异常并且您的代码没有进入 .close()
行,这也会自动关闭文件。
with open('x.txt', 'w', encoding="utf-8") as xadd:
hha = [ 'j', 'a', 's', 'o', 'n', '\n', 'b', 'r', 'o', 'w', 'n']
a = ''.join(hha)
xadd.write(a)
xadd = open('x.txt', 'w', encoding="utf-8")
hha = [ 'j', 'a', 's', 'o', 'n', '\n', 'b', 'r', 'o', 'w', 'n']
a = ''.join(hha)
xadd.write(a)
xadd.close()
文件的输出是jason\nbrown。我可以假设问题出在 a 变量上,因为当我正常执行时,没有 join 文件有换行符。有人可以向我解释为什么这不起作用并给我解决这个问题的方法吗?
简单修复。你的 \n
应该是 \n
xadd = open('x.txt', 'w', encoding="utf-8")
hha = [ 'j', 'a', 's', 'o', 'n', '\n', 'b', 'r', 'o', 'w', 'n']
a = ''.join(hha)
xadd.write(a)
xadd.close()
还可以考虑在打开文件时使用上下文管理器。即使发生异常并且您的代码没有进入 .close()
行,这也会自动关闭文件。
with open('x.txt', 'w', encoding="utf-8") as xadd:
hha = [ 'j', 'a', 's', 'o', 'n', '\n', 'b', 'r', 'o', 'w', 'n']
a = ''.join(hha)
xadd.write(a)