Python:如何禁用iptcinfo模块的字符集识别警告?
解决iptcinfo模块的字符集识别警告问题
这个警告到底啥意思?
那个('WARNING: problems with charset recognition', "'\x1b'")警告,本质是iptcinfo在解析图片的IPTC元数据时,碰到了\x1b这个特殊字符(也就是ASCII里的ESC转义字符)。模块没法确定这个字符对应的正确字符集编码,所以就抛出了这个警告,但其实它不会影响你提取其他有效的元数据,纯粹是干扰性的“噪音”而已。
怎么去掉这些烦人的警告?
最稳妥的办法是用Python自带的warnings模块,精准过滤掉这个特定警告,不会影响其他有用的警告提示。修改你的代码就行:
import warnings import iptcinfo # 过滤掉目标警告 warnings.filterwarnings("ignore", message="problems with charset recognition") iptc = iptcinfo.IPTCInfo("DSC05647.jpg")
原理是告诉Python忽略所有匹配problems with charset recognition这条消息的警告,这样那些无意义的提示就不会再跳出来了。
如果你想更严格一点,还可以指定警告的类别,但一般上面的写法就足够解决问题了。
内容的提问来源于stack exchange,提问作者Sulli
相关产品推荐
相关产品推荐

