#!/usr/bin/python
import os
import shutil
import commands
import time
import copy
name = 'test'
echo name
我有一个像上面那样简单的python脚本。当我尝试执行它时,在尝试输出名称变量时出现语法错误。
答案 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