NameError 尝试使用来自 mido 的 get_output_names
NameError trying to use get_output_names from mido
我正在尝试掌握我安装的名为 'mido' 的 Python 模块,用于处理 MIDI I/O。
函数 mido.get_output_names
应该告诉我哪些输出端口可用,但是,当我尝试在交互式解释器中使用它时,出现以下错误:
Python 3.6.0 (v3.6.0:41df79263a11, Dec 23 2016, 07:18:10) [MSC v.1900 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from mido import *
>>> mido.get_output_names()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'mido' is not defined
>>> get_output_names()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'get_output_names' is not defined
>>>
我见过其他有类似问题的问题,但建议的解决方案似乎是在调用之前为包命名(在本例中为 'mido.'),但如您所见,这似乎并没有在这里有所作为。
我也试过将代码放在 .py 文件中,interpreting/running 我得到了相同的错误消息(分别针对带有和不带 '.mido' 的情况)
谁能帮我解决我遗漏的问题?
我也尝试过 from mido.port import *
并以我能想到的尽可能多的组合调用 port.get_output_names()
,并使用类似的等效 NameError
消息。
查看 __init__.py
file of the mido
module,您可以看到它通过将 __all__
设置为空列表来阻止星号 *
导入:
# Prevent splat import.
__all__ = []
__all__
是由 from mod import *
选取的名称列表,将其设置为 []
可确保不会导入任何内容。
它还通过使用 set_backend
helper function.
在模块字典中设置了几个附加函数(如 get_output_names
)
因此,要么直接导入 mido
并通过在模块名称前加上前缀使用 get_output_names
:
import mido
mido.get_output_names(...)
或者,从模块中导入名称,直接使用:
from mido import get_output_names
get_output_names(...)
好像很奇怪,可以这样试试:
import mido
然后从包中调用函数时,使用:
mido.get_output_names()
你也可以这样导入:
import mido as md
然后:
md.get_output_names()
还有:
- 尝试进入包目录,并查看文件
- 尝试在导入时从终端的包中获取帮助:
import mido
help(mido)
我正在尝试掌握我安装的名为 'mido' 的 Python 模块,用于处理 MIDI I/O。
函数 mido.get_output_names
应该告诉我哪些输出端口可用,但是,当我尝试在交互式解释器中使用它时,出现以下错误:
Python 3.6.0 (v3.6.0:41df79263a11, Dec 23 2016, 07:18:10) [MSC v.1900 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from mido import *
>>> mido.get_output_names()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'mido' is not defined
>>> get_output_names()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'get_output_names' is not defined
>>>
我见过其他有类似问题的问题,但建议的解决方案似乎是在调用之前为包命名(在本例中为 'mido.'),但如您所见,这似乎并没有在这里有所作为。
我也试过将代码放在 .py 文件中,interpreting/running 我得到了相同的错误消息(分别针对带有和不带 '.mido' 的情况)
谁能帮我解决我遗漏的问题?
我也尝试过 from mido.port import *
并以我能想到的尽可能多的组合调用 port.get_output_names()
,并使用类似的等效 NameError
消息。
查看 __init__.py
file of the mido
module,您可以看到它通过将 __all__
设置为空列表来阻止星号 *
导入:
# Prevent splat import.
__all__ = []
__all__
是由 from mod import *
选取的名称列表,将其设置为 []
可确保不会导入任何内容。
它还通过使用 set_backend
helper function.
get_output_names
)
因此,要么直接导入 mido
并通过在模块名称前加上前缀使用 get_output_names
:
import mido
mido.get_output_names(...)
或者,从模块中导入名称,直接使用:
from mido import get_output_names
get_output_names(...)
好像很奇怪,可以这样试试:
import mido
然后从包中调用函数时,使用:
mido.get_output_names()
你也可以这样导入:
import mido as md
然后:
md.get_output_names()
还有:
- 尝试进入包目录,并查看文件
- 尝试在导入时从终端的包中获取帮助:
import mido
help(mido)