在Python的imp中,“ImportError:没有名为…”的冻结子模块

2024-05-15 00:55:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试编写一个脚本,在目录中搜索具有给定名称的模块。我想使用Python的find_module方法。但是,我不太明白为什么下面的方法不起作用。我所在的目录包含一个模块iclib

kurt@kurt-ThinkPad:~/dev/ipercron-compose/furion$ tree
.
├── iclib
│   ├── __init__.py

在这个目录中,我可以(在iPython中)导入iclib

^{pr2}$

我也可以使用不带path参数的find_module

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

为什么这个不管用?在


Tags: 模块方法composeindevimport目录os

热门问题