Python使用file.write向文件写入内容时如何添加换行符?
核心问题说明
你现有代码存在两处错误导致无法写入换行:
- 语法错误:Python 中拼接字符串需要使用加号
+,你代码里用了分号;属于语法错误,运行时会直接报错 - 换行符格式错误:Python 中的换行转义字符是
\n,不是普通字符n
修复方案
直接把代码中写入的行替换为以下写法即可:
file.write(data + "\n")
如果使用 Python 3.6 及以上版本,也可以用 f-string 写法更易读:
file.write(f"{data}\n")
file.write 本身是纯原始内容写入,不会像print方法一样自动追加换行,只要把换行符拼接到要写入的字符串末尾即可实现换行写入。
额外优化建议
还有几个可以优化的点,避免后续出现其他问题:
- 操作文件优先使用
with上下文管理器,会自动完成文件关闭操作,不需要手动写file.close(),就算中途代码运行报错也不会残留未关闭的文件句柄 - 打开文件时建议显式指定编码为
utf-8,避免不同系统默认编码不一致导致写入乱码 - 你现有代码中
fn变量没有提前赋值,运行时会触发NameError,需要提前指定要写入的文件路径
优化后的完整代码示例:
import itertools fn = "test.txt" # 替换为你实际要写入的文件路径 lines = int(input('Choose how many lines: ')) with open(fn, "w", encoding="utf-8") as file: for _ in itertools.repeat(None, lines): data = input() file.write(f"{data}\n")
内容的提问来源于stack exchange,提问作者user15689178
相关产品推荐
相关产品推荐

