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
相关产品推荐
相关产品推荐

