msg = '{"event":"addChannel","channel":"ok_sub_spot{currency}_{market}_trades"}'
print msg.format(**{'currency': 'usd', 'market': 'btc'})
我想格式化它,但是出现错误。
Traceback (most recent call last):
File "/Users/wyx/bitcoin_workspace/fibo/tests/t_ws.py", line 21, in <module>
print msg.format(**{'currency': 'usd', 'market': 'btc'})
KeyError: '"event"'
我什至不知道为什么会收到这个错误。
最佳答案
格式字符串{
和}
是保留字符,指示您要替换的组。如果您实际上希望在字符串中使用这些字符中的任何一个,则需要将它们加倍,如{{
和}}
,如下所示:
>>> msg = '{{"event":"addChannel","channel":"ok_sub_spot{currency}_{market}_trades"}}'
>>> print msg.format(**{'currency': 'usd', 'market': 'btc'})
{"event":"addChannel","channel":"ok_sub_spotusd_btc_trades"}
关于python - 我如何格式化dict的json,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45767927/