2013-04-18 1 views
8

Если я печатаю словарь с помощью pprint, она всегда оборачивается вокруг строки одинарных кавычек ('):pprint(): как использовать двойные кавычки для отображения строк?

>>> from pprint import pprint 
>>> pprint({'AAA': 1, 'BBB': 2, 'CCC': 3}) 
{'AAA': 1, 'BBB': 2, 'CCC': 3} 

Есть ли способ сказать pprint использовать двойные кавычки (") вместо? Я хотел бы иметь следующее поведение:

>>> from pprint import pprint 
>>> pprint({'AAA': 1, 'BBB': 2, 'CCC': 3}) 
{"AAA": 1, "BBB": 2, "CCC": 3} 
+3

Почему вы * нужны * двойные кавычки? 'pprint()' просто использует результат 'repr()' из строк, который будет использовать '' ', если не содержится буквальная' '' quote. –

+0

Возможно, вы ищете 'json.dumps()' вместо этого? JSON использует двойные кавычки для строк ... –

+0

Спасибо @Martijn, 'json.dumps()' делает то, что мне нужно. Можете ли вы опубликовать его в качестве ответа? –

ответ

13

Похоже, вы пытаетесь произвести JSON; если да, используйте json module:

>>> import json 
>>> print json.dumps({'AAA': 1, 'BBB': 2, 'CCC': 3}) 
{"AAA": 1, "BBB": 2, "CCC": 3} 
+1

Это фиксирует одно-> двойные кавычки, но этого недостаточно для ручного просмотра, потому что он не печатает результат. – travelingbones

+0

@ travelingbones указывает, что OP пытался создать JSON и использовал неправильный инструмент. На самом деле они не пытались печатать! Тем не менее, функция 'json.dumps()' может быть настроена так, чтобы печатать, вплоть до точки. –

+0

Я понимаю. Я столкнулся с одной и той же проблемой, но мне нужно обоим - мне нужно прочитать выход json вручную и подключить его к чему-то, что принимает формат .json. Я просто хотел включить информацию, которую я нашел, - что это действительно переключает сингл на двойные кавычки, но не очень печатает его. – travelingbones

Смежные вопросы