我是Python编程的新手。我想从Python程序执行一个shell命令“at”。任何一位Python专家都可以帮助我吗?提前谢谢。
答案 0 :(得分:8)
subprocess
模块可用于此目的:
import subprocess
retcode = subprocess.call(["at", "x", "y", "z"])
将x
,y
和z
替换为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_output
是subprocess.Popen
周围的便利包装器,因此您可能更喜欢直接使用Popen
。但理论上,便利包装纸很方便。