在 Windows 上运行,以下 Python 程序产生上述输出(输出变量的内容)
import commands
cmd = "dir"
(output) = commands.getoutput(cmd)
print output
非常有趣和令人沮丧。有人可以指出我的解释吗?
在 Windows 上运行,以下 Python 程序产生上述输出(输出变量的内容)
import commands
cmd = "dir"
(output) = commands.getoutput(cmd)
print output
非常有趣和令人沮丧。有人可以指出我的解释吗?
请参阅文档:
cmd 实际上运行为 { cmd ; 2>&1
这是从哪里来的{
。你应该subprocess
改用。
import subprocess
p = subprocess.Popen(['dir'],stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
stdout,stderr = p.communicate()
在这种shell=True
特定情况下是必需的,因为 dir 是内部 DOS 命令。通常应该提供可执行文件的完整路径并保持外壳禁用。