Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python脚本中执行UNIX命令_Python_Unix - Fatal编程技术网

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

如何在Python脚本中执行UNIX命令,python,unix,Python,Unix,我有一个简单的python脚本,如上面所述。当我试图执行它时,我在试图输出name变量时遇到语法错误。您也可以使用subprocess模块 #!/usr/bin/python import os import shutil import commands import time import copy name = 'test' echo name 阅读:您不能在Python脚本中像使用Python代码一样使用UNIX命令,echo name导致语法错误,因为echo不是Python中

我有一个简单的python脚本,如上面所述。当我试图执行它时,我在试图输出name变量时遇到语法错误。

您也可以使用subprocess模块

#!/usr/bin/python

import os
import shutil
import commands
import time
import copy

name = 'test'

echo name 

阅读:

您不能在Python脚本中像使用Python代码一样使用UNIX命令,
echo name
导致语法错误,因为
echo
不是Python中的内置语句或函数。请改用
打印名称


要运行UNIX命令,您需要创建运行该命令的子进程。最简单的方法是使用,但最好使用模块。

您至少应该指定要获取的确切错误消息。为什么您希望像Python中那样支持通用unix命令(
echo
),就好像它是公认的Python语句一样?@C2H5OH它只会产生一个通用的“语法错误”,因为
echo
不是一个关键字,它期望在一个可能的变量名(例如赋值)之后发生其他事情。@poke:谢谢,我已经知道了。我只是想提高OP提问时的礼貌。@C2H5OH已经认为你这样做了,但公平地说,“语法错误”在这种情况下尽可能准确^^
import subprocess
proc = subprocess.Popen(['echo', name],
                            stdin = subprocess.PIPE,
                            stdout = subprocess.PIPE,
                            stderr = subprocess.PIPE
                        )

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