我正在使用patool
库(一个用于创建/提取压缩档案的库)的python脚本。
问题在于,当我运行脚本时,它给了我以下几行:
patool: Extracting D:/xx/xx/xx.xml.gz
patool: running "C:\Program Files\7-Zip\7z.EXE" e -o D:/xx/xx/ -- D:/xx/xx/xx.xml.gz
patool: ... D:/xx/xx/ -- xx.xml.gz extracted to D:/xx/xx/
这些显然不是错误行。他们只是告诉我发生了什么。 我需要在删除脚本时隐藏这些行。但仅此邮件,我的意思是不 其他类型的邮件,例如错误消息。
答案 0 :(得分:4)
经过一番阅读后,我发现了一个容易解决这个烦人问题的方法。修复程序在他们的文档中。正如您在their source code(此时第679行)中看到的那样,patool
仅在verbosity
选项等于或大于0
:
def extract_archive(archive, verbosity=0, outdir=None, program=None, interactive=True):
"""Extract given archive."""
util.check_existing_filename(archive)
if verbosity >= 0:
util.log_info("Extracting %s ..." % archive)
return _extract_archive(archive, verbosity=verbosity, interactive=interactive, outdir=outdir, program=program)
因此,为了解决您的问题并隐藏patool
使用的所有标准打印:
patoolib.extract_archive(path_to_file, outdir=path_to_unzip, verbosity=-1)
而不是:
patoolib.extract_archive(path_to_file, outdir=path_to_unzip)
希望这会有所帮助:)
答案 1 :(得分:-1)
我认为您需要的是使用日志库(如logging)。因此,您会根据脚本的输出(要显示的内容)将脚本的行为(信息/成功/错误)隔离出来。