在Python中';s imp,”;ImportError:没有名为“”的冻结子模块;
我正在尝试编写一个脚本,在目录中搜索具有给定名称的模块。我想使用Python的在Python中';s imp,”;ImportError:没有名为“”的冻结子模块;,python,Python,我正在尝试编写一个脚本,在目录中搜索具有给定名称的模块。我想使用Python的find_模块方法。然而,我不太明白为什么下面的方法不起作用。我所在的目录包含一个模块iclib: kurt@kurt-ThinkPad:~/dev/ipercron-compose/furion$ tree . ├── iclib │ ├── __init__.py In [1]: import iclib 在该目录中,我可以(在iPython中)导入iclib: kurt@kurt-ThinkPad:~/d
find_模块
方法。然而,我不太明白为什么下面的方法不起作用。我所在的目录包含一个模块iclib
:
kurt@kurt-ThinkPad:~/dev/ipercron-compose/furion$ tree
.
├── iclib
│ ├── __init__.py
In [1]: import iclib
在该目录中,我可以(在iPython中)导入iclib
:
kurt@kurt-ThinkPad:~/dev/ipercron-compose/furion$ tree
.
├── iclib
│ ├── __init__.py
In [1]: import iclib
我也可以使用find_模块
,而不使用路径
参数:
In [1]: import imp
In [2]: imp.find_module('iclib')
Out[2]: (None, 'iclib', ('', '', 5))
但是,如果我尝试仅在当前目录中使用find_module
,则会出现错误:
In [3]: import os
In [4]: imp.find_module('iclib', os.getcwd())
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-4-ada6f3744e78> in <module>()
----> 1 imp.find_module('iclib', os.getcwd())
ImportError: No frozen submodule named /home/kurt/dev/ipercron-compose/furion.iclib
[3]中的:导入操作系统
在[4]中:imp.find_模块('iclib',os.getcwd())
---------------------------------------------------------------------------
ImportError回溯(最近一次呼叫最后一次)
在()
---->1 imp.find_模块('iclib',os.getcwd())
ImportError:没有名为/home/kurt/dev/ipercron compose/furion.iclib的冻结子模块
为什么不起作用?接下来,需要将路径
参数嵌入到列表中:
In [4]: imp.find_module('iclib',[os.getcwd()])
Out[4]: (None, '/home/kurt/dev/ipercron-compose/furion/iclib', ('', '', 5))
函数在os.getcwd()
周围用方括号括起来,返回预期的输出