How to run commands on shell through python
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
Calling an external command in Python
我想使用python在另一个目录中运行命令。
有哪些不同的方法可以用来解决这个问题,哪种方法最有效?
我想做的是:
1 2 3 4 5 | cd dir1 execute some commands return cd dir2 execute some commands |
当然,如果您只想通过python在shell上运行一个(简单的)命令,那么可以通过
1 2 | import os os.system('touch myfile') |
如果您想要更复杂的东西来更好地控制命令的执行,请继续使用其他人建议的
有关更多信息,请访问以下链接:
- 关于
os.system() 的python官方文档 subprocess 模块上的python官方文档
如果您想要更多地控制被调用的shell命令(即访问stdin和/或stdout管道或异步启动它),可以使用
1 2 3 4 | import subprocess p = subprocess.Popen('ls -al', shell=True, stdout=subprocess.PIPE) stdout, stderr = p.communicate() |
另见
1 | os.system("/dir/to/executeble/COMMAND") |
例如
1 | os.system("/usr/bin/ping www.google.com") |
如果ping程序位于"/usr/bin"
当然,您需要导入操作系统模块。
os.system不等待任何输出,如果需要输出,应使用
subprocess.call或类似的东西
您可以使用python子进程,它提供许多模块来执行命令、检查输出和接收错误消息等。