如何从多个级别导入python文件?

2024-09-30 00:39:59 发布

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

我的文件结构如下所示:

enter image description here

deepxi/lib/dev/acoustic/feat/polar.py,我想导入deepxi/lib/dev/acoustic/analysis_synthesis/polar.py,我设法做到了:

import sys
sys.path.insert(0, '../..')

from ..analysis_synthesis import polar

但我也想包括deepxi/lib/dev/add_noise.py。我试过from add_noise import add_noise_batch,但没用。有什么想法吗?你知道吗

我没有能力做export PYTHONPATH=...


Tags: 文件frompydevimportaddlibsys
1条回答
网友
1楼 · 发布于 2024-09-30 00:39:59

如果将项目的根目录添加为export PYTHONPATH='/path/to/deepxi'

然后打电话给polar

from lib.dev.acoustic.analysis_synthesis import polar

add_noise_batch打电话

from lib.dev import add_noise_batch

export PYTHONPATH='/path/to/deepxi/lib'

然后做:

from dev.acoustic.analysis_synthesis import polar

from dev import add_noise_batch

这样,您就可以向PYTHONPATH添加更多内容,但最佳做法是添加根文件夹(第一个方法),然后使用绝对路径来调用任何对象。你知道吗

另外,重命名lib,因为这也是Python中的一个常见模块。总是给东西命名,这样它就不会与已经存在的模块重合。所以analysis_synth_lib或者不是lib的东西

您可以向PYTHONPATH添加多个路径,这不是建议,但您可以这样做!e、 g.export PYTHONPATH='/path/to/deepxi:/path/to/deepxi/lib'

现在,无论何时运行该函数,它都将耗尽PYTHONPATH中的所有路径,以找到它要查找的内容!你知道吗

相关问题 更多 >

    热门问题