我试图使用参数cmd.exe
运行ls
。
我使用了以下代码
import subprocess
subprocess.call(['C:\Windows\System32\cmd.exe', 'ls'])
执行此cmd.exe
后正在打开,但未将ls
作为输入
答案 0 :(得分:4)
你的剧本中有两个错误
ls
使用dir
而不是/C
参数修改过的脚本是
>>> import subprocess
>>> subprocess.call(['C:\\windows\\system32\\cmd.exe', '/C', 'dir'])
注意:使用\
转义反斜杠字符
答案 1 :(得分:0)
我认为,它不适用于Windows,如果你想在windows中使用linux语法,你必须使用cygwin环境。或将命令“ls”更改为“dir”(“dir / w”)
答案 2 :(得分:0)
如果你添加参数shell = True,python将使用可用的默认shell。在这种情况下,python将使用Windows cmd。换句话说,下面的代码应该可以工作:
>>> subprocess.call('dir', shell=True)