如何在Python中使用参数执行cmd.exe

时间:2016-06-24 11:32:54

标签: python python-2.7

我试图使用参数cmd.exe运行ls

我使用了以下代码

import subprocess
subprocess.call(['C:\Windows\System32\cmd.exe', 'ls'])

执行此cmd.exe后正在打开,但未将ls作为输入

3 个答案:

答案 0 :(得分:4)

你的剧本中有两个错误

    Windows中不支持
  1. ls使用dir而不是
  2. 运行命令所需的
  3. /C参数
  4. 修改过的脚本是

    >>> 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)