pprint():如何使用双引号显示字符串?

E.Z*_*.Z. 12 python pretty-print pprint

如果我使用打印字典pprint,它总是在单引号(')周围包装字符串:

>>> from pprint import pprint
>>> pprint({'AAA': 1, 'BBB': 2, 'CCC': 3})
{'AAA': 1, 'BBB': 2, 'CCC': 3}
Run Code Online (Sandbox Code Playgroud)

有没有办法告诉pprint使用双引号(")?我想有以下行为:

>>> from pprint import pprint
>>> pprint({'AAA': 1, 'BBB': 2, 'CCC': 3})
{"AAA": 1, "BBB": 2, "CCC": 3}
Run Code Online (Sandbox Code Playgroud)

Mar*_*ers 19

看起来你正在尝试生成JSON; 如果是这样,请使用json模块:

>>> import json
>>> print json.dumps({'AAA': 1, 'BBB': 2, 'CCC': 3})
{"AAA": 1, "BBB": 2, "CCC": 3}
Run Code Online (Sandbox Code Playgroud)

  • 这样可以解决单引号和双引号的问题,但这对于手动查看是不够的,因为它不会漂亮地打印输出。 (2认同)
  • 我明白。我面临同样的问题,但我需要两者 - 我需要手动读取输出 json,并将其插入采用 .json 格式的内容。我只是想包括我发现的信息——这确实将单引号转换为双引号,但并没有很好地打印出来。 (2认同)
  • 对于漂亮的JSON,请参阅http://stackoverflow.com/questions/12943819/how-to-python-prettyprint-a-json-file.同样,这从来都不是这个答案的重点. (2认同)