在看http://docs.python.org/2/library/subprocess.html#frequently-used-arguments时,我假设除非使用shell=True
,否则无法使用rm
、cp
、mv
等。文档可能已经过时,因为他们正在向call方法提供一个字符串,其中它应该是一个列表。但是使用shell=False
当然不会阻止使用上述shell命令。在
shell=False disables all shell based features
看了之后子流程.py,我可以看到,参数所做的只是将["/bin/sh", "-c"]
添加到参数字符串的开头。在
有人能帮我澄清一下吗?在
他们讨论的shell特性是
|
管道、*
globs和其他通配符、stdout/stderr用>
或2>
、<(process substitution)
等进行重定向,而不是谈论其他命令/程序,如mv、grep等相关问题 更多 >
编程相关推荐