处理call()函数中“ls”参数的子进程错误

时间:2013-06-28 21:57:58

标签: python subprocess

我是python的新手,我想知道这条指令出了什么问题。 在Python的文档中,subprocess的示例中使用了这行代码:

subprocess.call(["ls", "-l"]) 

它基本上回归了:

WindowsError: [Error 2] The system cannot find the file specified

Python认为“ls”是一个文件而不是一个参数。有没有办法解决这个问题?

2 个答案:

答案 0 :(得分:3)

是否需要调用ls(或dir)命令?在Python中,您可以使用os.listdir(path)列出目录的文件,这将更容易实现!

关于你的问题:你正试图调用ls命令,这是类Unix系统的原生命令。在Windows中,您必须改为使用dir,如Ignacio的回答所示。

答案 1 :(得分:1)

是。请改用 ["dir", "/w"] ['ipconfig', '/all']