加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 虽然导入了子进程,但未定义名称“STDOUT”

发布时间:2020-12-20 11:46:23 所属栏目:Python 来源:网络整理
导读:我明白使用STDOUT时会出错 import subprocessprint STDOUT Traceback(最近一次调用最后一次): ??文件“”,第1行,in NameError:未定义名称“STDOUT” 它也适用 from subprocess import STDOUT 但是,如果模块中有许多这样的常量,有没有办法导入模块中定义的
我明白使用STDOUT时会出错

>>> import subprocess
>>>print STDOUT

Traceback(最近一次调用最后一次):
??文件“”,第1行,in
NameError:未定义名称“STDOUT”

它也适用

from subprocess import STDOUT

但是,如果模块中有许多这样的常量,有没有办法导入模块中定义的任何此类常量而不明确提及它们.

解决方法

您需要告诉Python在哪里找到“STDOUT”,即在“子进程”模块中.这就是为什么当你指定“subprocess.STDOUT”它的工作原理.如果您希望能够在不必命名模块的情况下引用STDOUT,请将其导入如下:

from subprocess import STDOUT

或者,如果您正在使用子流程中的所有函数和类,则可以像这样导入它们

from subprocess import *

但建议您尽可能避免这种情况,原因很多(见What exactly does “import *” import?).否则,您应该只导入将在import语句中用作元组的所有方法和类:

from subprocess import STDOUT,popen,call

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读