这行代码如何在python中引发“ ValueError:无效格式说明符”?

问题描述

我写了这行代码来格式化消息,但这给了我这个错误

Traceback (most recent call last):
  File "yes.py",line 221,in buy_stock
    message = f'{"action": "Bought {amount} stocks","current-money": "{self.money}","money-combined": "{self.money_combined}","stocks" : "{self.stock_amount}"}'
ValueError: Invalid format specifier

所有变量都定义在python3.8中。 我正在尝试以json格式发送此消息,因此我可以将其发送到服务器,该服务器对数据进行一些信息收集。

解决方法

再用一对大括号括起来,如下所示

message = f'{{"action": "Bought {amount} stocks","current-money": "{self.money}","money-combined": "{self.money_combined}","stocks" : "{self.stock_amount}"}}'