可能是重复问题:
在Python中调用外部命令
我想要使用Python在另一个目录下运行命令。
有哪些常用的方法可以实现这个需求,哪一种是最高效的?
我想要做的是:
cd dir1
execute some commands
return
cd dir2
execute some commands
可能是重复问题:
在Python中调用外部命令
我想要使用Python在另一个目录下运行命令。
有哪些常用的方法可以实现这个需求,哪一种是最高效的?
我想要做的是:
cd dir1
execute some commands
return
cd dir2
execute some commands
如果你只想通过Python在shell上运行(简单的)命令,你可以使用os
模块的system
功能。例如:
import os
os.system('touch myfile')
subprocess
模块。os.system()
的说明
- Python官方文档关于subprocess
模块的说明
os.system()
将在 /bin/sh 中运行。如果您的命令(脚本)需要 bash,则无法正常工作。 - Ben L如果你想更加控制被调用的shell命令(例如访问标准输入和/或输出管道或以异步方式启动它),你可以使用subprocess
模块:
import subprocess
p = subprocess.Popen('ls -al', shell=True, stdout=subprocess.PIPE)
stdout, stderr = p.communicate()
subprocess
模块文档。os.system("/dir/to/executeble/COMMAND")
os.system("/usr/bin/ping www.google.com")
如果Ping程序位于“/usr/bin”中
自然需要导入os模块。
os.system不会等待任何输出,如果您需要输出,则应使用
subprocess.call或类似的东西