【发布时间】:2011-04-28 03:37:17
【问题描述】:
在我的代码中,我有类似这样的一行:
rval = subprocess.call(["mkdir",directoryName], shell=True)
我可以检查rval 以查看它是0 还是1,但如果是1,我希望将命令"A subdirectory or file ben already exists." 中的文本以文件格式保存,所以如果我想确保文本相同,我可以将它与另一个文件进行比较。
是否可以有这样的一行,但我知道这行不通
rval = subprocess.call(["mkdir",directoryName], shell=True) >> filename
所以无论该命令发生什么,文本都被捕获在filename 中,而rval 仍然有返回码?
【问题讨论】:
-
你为什么不使用 Python 的内置
mkdir()? -
我这样做是为了一个我不能在这里发布的命令,但它具有与 mkdir 相似的特性。
-
@S.Lott,它几乎是重复的。区别在于
Popen与call(我同意这是微妙的),以及写入文件而不是捕获程序中的输出的愿望。尽管提问者似乎更愿意捕获输出,但按原样回答问题很有用。
标签: python subprocess