gpt4 book ai didi

python - json.dump 时如何显式设置回车?

转载 作者:IT王子 更新时间:2023-10-29 01:13:02 25 4
gpt4 key购买 nike

我的 python 脚本生成 json 文件。而且我必须支持在 windows 和 linux 上工作的这个 python 文件。问题是 Windows 和 Linux 上的回车不同。当我在 Windows 上运行这段代码时,它输出 CRLF json。当我在 Linux 上运行它时,它会输出 LF json。

那么在python3.5中做json dump时如何显式设置回车呢?我可以

import json
fpath = "hoge.json"
data = {"AGE": 12, "HOGE": [{"GUA": 3}]}
with open(fpath, 'wt', encoding="utf-8") as outfile:
json.dump(data, outfile, indent=4, sort_keys=True, ensure_ascii=False)

http://docs.python.jp/3/library/json.html

最佳答案

如果您坚持一致的 CRLF 行为(JSON 规范要求解析器同时处理这两者,但在某些纯文本阅读器(如记事本)中使用一致的 CRLF 可能更容易打开它),解决方案在 the open function 中。 ,而不是 json 模块。

只需将newline='\r\n'传给open,它就会翻译json写的任何\n \r\n 在所有系统上无缝转换,而不是转换为 os.linesep 的默认行为(即 \r\n 在 Windows 上和 \n 在大多数其他操作系统上):

with open(fpath, 'w', encoding="utf-8", newline='\r\n') as outfile:
json.dump(data, outfile, indent=4, sort_keys=True, ensure_ascii=False)

关于python - json.dump 时如何显式设置回车?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41842875/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com