我正在使用 xlrd 来处理 Excel 文件。我在包含许多文件的文件夹上运行脚本,并且正在打印与这些文件相关的消息。但是,对于我运行的每个文件,我也会收到以下 xlrd 生成的错误消息:
WARNING *** OLE2 inconsistency: SSCS size is 0 but SSAT size is non-zero
有没有办法抑制这个错误信息,让 CLI 只打印我想要的信息?
最佳答案
John 的答案有效,但有一个小问题:
xlrd 将该警告消息和随后的换行符分别写入日志文件。因此,如果您使用 John 提出的过滤器类,您将在 stdout 中得到一个空行而不是消息。不过,您也不应该简单地从日志输出中过滤掉所有换行符,因为可能会有“真正的”警告然后会丢失换行符。
如果您想简单地忽略 xlrd 的所有日志输出,这可能是最简单的解决方案:
book = xlrd.open_workbook("foo.xls", logfile=open(os.devnull, 'w'))
关于 python xlrd : suppress warning messages,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7619319/