查看http://docs.python.org/2/library/subprocess.html#frequently-used-arguments我假设除非您使用shell=True
, 否则无法使用rm
,cp
等mv
。也许文档已过期-过时的,因为他们正在为调用方法提供一个字符串,它应该是一个列表。但是使用shell=False
当然不会阻止使用所说的shell命令。
shell=False 禁用所有基于 shell 的功能
在查看 subprocess.py 之后,我可以看到该参数所做的只是添加["/bin/sh", "-c"]
到参数字符串的开头。
有人可以为我澄清一下吗?