在 Windows 上运行,以下 Python 程序会产生上述输出(输出变量的内容)
import commands
cmd = "dir"
(output) = commands.getoutput(cmd)
print output
非常有趣和令人沮丧。有人可以指出我的解释吗?
See the 文档:
cmd 实际上运行为 { cmd ; } 2>&1
这是哪里{
都来自.你应该使用subprocess
反而。
import subprocess
p = subprocess.Popen(['dir'],stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
stdout,stderr = p.communicate()
The shell=True
在这种特定情况下是必需的,因为 dir 是内部 DOS 命令。通常,应该提供可执行文件的完整路径并保持 shell 禁用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)