如何将“subprocess.call”的输出捕获到文件?

在我的代码中,我有一个类似于这样的行:

rval = subprocess.call(["mkdir",directoryName], shell=True)

我可以检查rval以查看它是0还是1,但如果它是1,我希望命令“A子目录或文件已经存在”中的文本.在文件格式中,如果我想确保文本是相同的,我可以将它与另一个文件进行比较.

是否有可能有这样的线,但我知道这不起作用

rval = subprocess.call(["mkdir",directoryName], shell=True) >> filename

所以无论命令发生了什么,文本都是在文件名中捕获的,而rval仍然有返回码?

解决方法:

import subprocess
f = open(r'c:\temp\temp.txt','w')
subprocess.call(['dir', r'c:\temp'], shell=True, stdout=f)
f.close()
上一篇:python子进程和mysqldump


下一篇:从python子进程运行linux grep命令