2013-04-18 13 views
8

Wenn ich ein Wörterbuch mit pprint drucken, wickelt es immer Strings um einfache Anführungszeichen ('):pprint(): Wie verwendet man doppelte Anführungszeichen, um Strings anzuzeigen?

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

Gibt es eine Möglichkeit zu sagen, pprint doppelte Anführungszeichen (") stattdessen zu verwenden? Ich möchte das folgende Verhalten haben:

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

Warum brauchen Sie * doppelte Anführungszeichen? 'pprint()' verwendet nur das 'repr()' Ergebnis der Strings, das '' 'verwendet, wenn kein literales' 'Zitat enthalten ist. –

+0

Vielleicht suchen Sie stattdessen nach 'json.dumps()'? JSON verwendet doppelte Anführungszeichen für Strings ... –

+0

Danke @Martijn, 'json.dumps()' tut was ich brauche. Kannst du es als Antwort posten? –

Antwort

13

Es sieht aus wie Sie versuchen, JSON zu produzieren; Wenn ja, verwenden Sie die json module:

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

Dies behebt die einfachen> doppelten Anführungszeichen, aber dies ist für die manuelle Anzeige nicht ausreichend, da die Ausgabe nicht hübsch gedruckt wird. – travelingbones

+0

@travelingbones der Punkt war, dass das OP versuchte, JSON zu produzieren, und das falsche Tool verwendete. Sie haben nicht wirklich versucht, schön zu drucken! Das heißt, die 'json.dumps()' Funktion kann so konfiguriert werden, dass sie bis zu einem gewissen Punkt gut gedruckt wird. –

+0

Ich verstehe. Ich stehe vor dem gleichen Problem, aber ich brauche beide - ich muss die Ausgabe Json manuell lesen, und stecken Sie es in etwas, das. JSON-Format dauert. Ich wollte nur die Informationen einbeziehen, die ich gefunden habe - dass dies tatsächlich die Single in doppelte Anführungszeichen umwandelt, aber es nicht schön druckt. – travelingbones

Verwandte Themen