使用subprocess.call - 如果存在错误,则将错误保存到文件中

时间:2011-12-14 00:35:30

标签: python stderr subprocess

我正在尝试将所有错误保存在文件中,但我找不到解决方案。我在python中太新手了,请耐心等待:D

在“for”中我有这一行,并且工作正常,但无法记录错误。

knull = open(os.devnull, 'w')
kerror = open('/tmp/error.log','wb')

proc = subprocess.call(['7z','a', file-Zip, files],stdout = knull, stderr = kerror.write())
kerror.close()
knull.close()

我是否要在kerror.write(HERE)中添加内容但我不知道是什么。或者我可能在错误的方向上这样做。

谢谢!!!

1 个答案:

答案 0 :(得分:0)

首先,您应该使用“a +”模式将新消息附加到现有文件,使用“w”将覆盖它。

其次,错误消息是文本消息,因此您不应使用“b”模式(这意味着二进制)。

仅供参考,您可能希望使用最方便的logging模块来处理与日志相关的任务:)