如何通过Python在Shell中运行命令
可能重复的问题:
在Python中调用外部命令
我想用Python在另一个目录下运行命令。
有什么方法可以做到这一点,哪种方法最有效呢?
我想做的事情如下:
cd dir1
execute some commands
return
cd dir2
execute some commands
4 个回答
1
os.system("/usr/bin/ping www.google.com")
比如说
os.system("/dir/to/executeble/COMMAND")
如果 ping 程序放在 "/usr/bin" 这个地方
那么你自然需要导入 os 模块。
os.system 这个方法不会等到任何输出,如果你想要看到输出,你应该使用
subprocess.call 或者类似的东西。
4
如果你想对调用的命令有更多的控制,比如想访问输入输出流,或者想让它异步运行,你可以使用 subprocess
模块:
import subprocess
p = subprocess.Popen('ls -al', shell=True, stdout=subprocess.PIPE)
stdout, stderr = p.communicate()
你也可以查看 subprocess
模块的文档,了解更多信息。
8
如果你只是想通过Python在命令行上运行一个(简单的)命令,可以使用os
模块里的system
函数。例如:
import os
os.system('touch myfile')
如果你想要更复杂一点的功能,这样可以更好地控制命令的执行,那就可以使用subprocess
模块,很多人都推荐这个。
想了解更多信息,可以查看以下链接: