我看到原帖想要JSON,但我不需要JSON,pprint几乎可以给我我想要的东西:black
兼容的Python源代码,这需要我使用"
而不是'
。
我最终选择了.replace("'", '"')
与pformat()
一起使用,尽管这既丑陋又脆弱☹️:
import pprint
my_dict = ["spam", "eggs", "lumberjack", "knights", "ni", "eggs", "lumberjack", "knights", "ni"]
pprinter = pprint.PrettyPrinter(indent=4)
formatted_code = (
pprinter.pformat(my_dict)
.replace("[ ", "[\n ")
.replace("']", "',\n]")
.replace("'", '"')
)
with open("example_module.py", "w", encoding="utf-8") as outfile:
outfile.write('"""Module containing auto-generated ALL_MR_HEADERS."""\n')
outfile.write(f"ALL_MR_HEADERS = {formatted_code}\n")
生成的 example_module.py 符合 black
格式。
pprint()
函数只是使用字符串的repr()
结果,除非包含文字'
引号,否则将使用单引号。 - Martijn Pietersjson.dumps()
?JSON 使用双引号表示字符串... - Martijn Pietersjson.dumps()
正是我需要的。你能把它发表为答案吗? - E.Z.