#!/usr/bin/python
import os
import shutil
import commands
import time
import copy
name = 'test'
echo name
我有一个像上面这样的简单 python 脚本。当我尝试执行它时,尝试输出名称变量时出现语法错误。
您不能在 Python 脚本中使用 UNIX 命令,就好像它们是 Python 代码一样,echo name
这会导致语法错误,因为echo
它不是 Python 中的内置语句或函数。相反,使用print name
.
要运行 UNIX 命令,您需要创建一个运行该命令的子进程。最简单的方法是使用os.system()
,但subprocess
最好使用模块。
您还可以使用子流程模块。
import subprocess
proc = subprocess.Popen(['echo', name],
stdin = subprocess.PIPE,
stdout = subprocess.PIPE,
stderr = subprocess.PIPE
)
(out, err) = proc.communicate()
print out