关注http://docs.python.org/2/library/subprocess.html#frequently-used-arguments我假设除非您使用shell=True
,否则无法使用rm
,cp
,mv
等等。文档是过时的,因为它们使用字符串为call方法提供信息,它应该是一个列表。但是使用shell=False
肯定不会阻止使用所述shell命令。
shell = False禁用所有基于shell的功能
在查看subprocess.py之后,我可以看到所有参数都是将["/bin/sh", "-c"]
添加到参数字符串的开头。
有人可以为我澄清这个吗?
答案 0 :(得分:6)
他们正在讨论的shell功能包括|
管道,*
globs和其他通配符,带有>
或2>
的stdout / stderr重定向,{{1他们不是在谈论其他命令/程序,如mv,grep等。