如何在Python脚本中执行UNIX命令

时间:2012-06-05 21:44:29

标签: python unix

#!/usr/bin/python

import os
import shutil
import commands
import time
import copy

name = 'test'

echo name 

我有一个像上面那样简单的python脚本。当我尝试执行它时,在尝试输出名称变量时出现语法错误。

2 个答案:

答案 0 :(得分:11)

您不能在Python脚本中使用UNIX命令,就好像它们是Python代码一样,echo name导致语法错误,因为echo不是Python中的内置语句或函数。相反,请使用print name

要运行UNIX命令,您需要创建一个运行该命令的子进程。最简单的方法是使用os.system(),但最好使用subprocess模块。

答案 1 :(得分:10)

您也可以使用子进程模块。

import subprocess
proc = subprocess.Popen(['echo', name],
                            stdin = subprocess.PIPE,
                            stdout = subprocess.PIPE,
                            stderr = subprocess.PIPE
                        )

(out, err) = proc.communicate()
print out

阅读:http://www.doughellmann.com/PyMOTW/subprocess/