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)