Python写入JSON文件时如何让新条目换行显示
解决Python JSON写入时条目不换行的问题
问题出在json.dump()默认使用紧凑格式输出,所有内容会被压缩到一行,手动加\n没用——因为JSON模块会自动处理输出格式,手动插入的换行符会被覆盖或忽略。
只需要修改write_to_file函数,给json.dump()添加indent参数,指定缩进的空格数,就能让每个条目自动换行并格式化显示:
def write_to_file(data): with open('database.txt', 'w', encoding='utf-8') as outfile: json.dump(data, outfile, indent=4, ensure_ascii=False)
indent=4:设置每个层级缩进4个空格,同时自动在每个数组元素、字典键值对之间换行,让结构更清晰ensure_ascii=False:如果你的数据包含非ASCII字符(比如代码里的斯洛伐克语键名),加上这个参数能保证字符直接显示,不会被转义成Unicode编码
修改后,新添加的每个条目都会在database.txt里单独占一行,完全符合你想要的换行显示效果。
内容的提问来源于stack exchange,提问作者Tomáš Répáš
相关产品推荐
相关产品推荐

