在处理一些代码时,在命令提示符下运行时出现错误...
NameError: name 'Popen' is not defined但是我同时导入了import os和import sys。
以下是部分代码
exepath = os.path.join(EXE File location is here)
exepath = '"' + os.path.normpath(exepath) + '"'
cmd = [exepath, '-el', str(el), '-n', str(z)]
print 'The python program is running this command:'
print cmd
process = Popen(cmd, stderr=STDOUT, stdout=PIPE)
outputstring = process.communicate()[0]我是不是漏掉了什么基本的东西?我不会怀疑的。谢谢!
发布于 2009-06-17 15:43:16
您应该执行以下操作:
import subprocess
subprocess.Popen(cmd, stderr=subprocess.STDOUT, stdout=subprocess.PIPE)
# etc.发布于 2009-06-17 15:41:15
Popen在子进程模块中定义
import subprocess
...
subprocess.Popen(...)或者:
from subprocess import Popen
Popen(...)发布于 2009-06-17 15:43:09
导入模块时,模块的成员不会成为全局名称空间的一部分:您仍然需要在它们前面加上modulename.。所以,你不得不说
import os
process = os.popen(command, mode, bufsize)或者,您可以使用from module import names语法将内容导入全局名称空间:
from os import popen # Or, from os import * to import everything
process = popen(command, mode, bufsize)https://stackoverflow.com/questions/1007855
复制相似问题