如何通过Python执行shell命令

时间:2011-05-07 16:52:50

标签: python shell

我是Python编程的新手。我想从Python程序执行一个shell命令“at”。任何一位Python专家都可以帮助我吗?提前谢谢。

4 个答案:

答案 0 :(得分:8)

subprocess模块可用于此目的:

import subprocess
retcode = subprocess.call(["at", "x", "y", "z"])

xyz替换为at的参数。

答案 1 :(得分:4)

或者,您可以使用Popen来捕获命令的输出(而不是返回代码),而不是使用subprocess.call()。

import subprocess
process = subprocess.Popen(['at','x','y','z'], stdout=subprocess.PIPE).communicate()[0]

这可能与at命令无关,但知道它很有用。 stdin和stderr也可以这样做。有关详细信息,请查看documentation

答案 2 :(得分:3)

答案 3 :(得分:1)

subprocess.check_output似乎是Python 2.4+中用于执行命令和检查输出的规范便利函数。如果命令返回非零值(表示错误),它也会引发错误。

subprocess.call一样,check_outputsubprocess.Popen周围的便利包装器,因此您可能更喜欢直接使用Popen。但理论上,便利包装纸很方便。