PyCharm警告:“格式不需要映射”。这是什么意思?

时间:2013-05-15 08:13:11

标签: python pycharm

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

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

代码工作得很好并且它并不重要,但我得到了其中的一些,我不明白PyCharm试图告诉我的是什么。

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

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:0)

也许您的self._device_channels属于map类型,'%s'string format需要str

因此convert类型为map类型str。并给你一个warning

您可以使用str(self._device_channels)

来转变变量