mit Ich bin mit dem folgenden Code:Format: KeyError wenn geschweiften Klammern in Strings
asset = {}
asset['abc'] = 'def'
print type(asset)
print asset['abc']
query = '{"abc": "{abc}"}'.format(abc=asset['abc'])
print query
, die einen KeyError
Fehler auslöst:
[[email protected]] : ~/Documents/vision/inputs/perma_sniff $ python ~/test.py
<type 'dict'>
def
Traceback (most recent call last):
File "/home/user/test.py", line 5, in <module>
query = '\{"abc": "{abc}"\}'.format(abc=asset['abc'])
KeyError: '"abc"'
Format wird offensichtlich durch die Verpackung {
verwirrt. Wie kann ich sicherstellen, dass Format versucht nur das (korrekte) innere {abc}
zu ersetzen.
dh erwartete Ausgabe ist:
{"abc": "def"}
(.. Ich bin bewusst, dass ich das json
Modul für diese Aufgabe verwenden könnte, aber ich will, dass vermeiden, ich würde viel lieber Format verwenden)
denken, dass Ihre Doppel schließen Klammer auf der falsche ist. sollte sein: ''{{" abc ":" {abc} "}}' – tom
@tom, yep, Tippfehler behoben –