我明白使用STDOUT时会出错
>>> import subprocess
>>>print STDOUT
Run Code Online (Sandbox Code Playgroud)
回溯(最近一次调用最后一次):NameError中的文件"",第1行:未定义名称"STDOUT"
它也适用
from subprocess import STDOUT
Run Code Online (Sandbox Code Playgroud)
但是,如果模块中有许多这样的常量,有没有办法导入模块中定义的任何此类常量而不明确提及它们.
你需要告诉Python在哪里找到"STDOUT",即在'subprocess'模块中.这就是为什么当你指定"subprocess.STDOUT"它的工作原理.如果您希望能够在不必命名模块的情况下引用STDOUT,请将其导入如下:
from subprocess import STDOUT
Run Code Online (Sandbox Code Playgroud)
或者,如果您正在使用子流程中的所有函数和类,则可以像这样导入它们
from subprocess import *
Run Code Online (Sandbox Code Playgroud)
但是建议你尽可能地避免这种情况,原因很多(参见"import*"导入究竟是什么?).否则,您应该只导入将用作import语句中的元组的所有方法和类:
from subprocess import STDOUT, popen, call
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4162 次 |
| 最近记录: |