You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python 3.7如何将字典写入文本文件并添加换行格式?

嘿,这个格式化需求很容易搞定,给你两个实用的方案在Python 3.7里实现:

方案一:用pprint模块快速美化(推荐)

pprint是Python标准库自带的格式化工具,专门用来让数据结构更易读,刚好能帮你搞定换行和缩进。如果需要最后一个键值对也带逗号,稍微手动调整一下就行:

import pprint

test_dict = {'A': '1', 'B': '2', 'C': '3'}
with open("dict.txt", "w") as f:
    # pformat生成带换行和缩进的字符串,width=1强制每个键值对单独一行
    formatted_str = pprint.pformat(test_dict, indent=2, width=1)
    # 手动给最后一行加逗号
    formatted_str = formatted_str.rstrip('}') + ', }'
    f.write(formatted_str)

生成的文件内容就是:

{
  'A': '1',
  'B': '2',
  'C': '3',
}

方案二:手动拼接字符串(完全自定义格式)

如果你想完全控制每一行的格式,直接遍历字典拼接字符串就行,Python 3.7+的字典是有序的,所以键的顺序会和你定义的一致:

test_dict = {'A': '1', 'B': '2', 'C': '3'}

# 生成每一行的键值对内容
line_list = [f"  '{key}': '{value}'," for key, value in test_dict.items()]
# 组合成最终的格式
final_content = "{\n" + "\n".join(line_list) + "\n}"

# 写入文件(用with语句自动关闭文件,更安全)
with open("dict.txt", "w") as f:
    f.write(final_content)

这个方法生成的结果和你期望的完全一致,而且不需要依赖额外模块,适合简单场景。

另外提一句,尽量用with open(...)的写法,比手动f.close()更稳妥,能避免忘记关闭文件导致的资源问题~

内容的提问来源于stack exchange,提问作者user3848207

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 17:02:57