1

出于某种原因,PyCharm 会警告我这行代码。我只是在记录字典的内容并收到警告:格式不需要映射

self._logger.info('Device channels set: %s' % self._device_channels)

代码工作得很好,并不是很重要,但我得到了很多这样的代码,我不明白 PyCharm 试图告诉我什么。

我用谷歌搜索了它,但没有发现任何有用的东西。

4

2 回答 2

1

我假设 PyCharm 会警告您使用仅带有 a 的简单格式字符串%s,同时提供字典作为格式化参数。当使用命名格式(我相信使用%(name)s)时,可以使用字典参数来填充该格式的值argument['name']

为避免警告,您可以尝试自己将参数强制为简单字符串,匹配字符串中的格式和您提供的参数:

self._logger.info('Device channels set: %s' % str(self._device_channels))
于 2013-05-15T08:18:13.030 回答
0

也许你self._device_channels是一个map类型,'%s'string format需要 str

所以它将键入要键入convert的类型。并给你一个mapstrwarning

您可以使用 cenvert 变量str(self._device_channels)

于 2013-05-15T08:21:39.890 回答