繁体   English   中英

'{'不被识别为内部或外部命令,可操作程序或批处理文件

[英]'{' is not recognized as an internal or external command, operable program or batch file

在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命令。 通常,应该提供可执行文件的完整路径并保持shell禁用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM