将Python导入函数从另一个目录导入文件,然后从另一个目录导入另一个函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将Python导入函数从另一个目录导入文件,然后从另一个目录导入另一个函数相关的知识,希望对你有一定的参考价值。

我需要从目录A导入文件X的功能x到目录B的文件Y,但是文件X还从A目录本身导入文件Z的功能z。目录A在目录C内,目录B和C在同一级别。我尝试将A添加到sys路径并执行“从X导入x”,但没有抛出模块发现错误,并且我将C添加到路径并从A.X导入x进行了添加,但存在相同的错误。

目录结构:

├───C
│   ├───A
│   │   ├───X
└───B
    └───data
答案

我对您说的目录结构进行了乱写,以了解由于信誉低而无法发布的问题。

Python从您现在执行文件的位置解析文件导入路径

您实际上可以通过两种三种方式导入文件z

一种方法是,在导入某些内容之前使用os.chdir()更改目录,以便您解析路径,但不建议这样做

[其他方法是,您无需解析路径即可将z添加到sys.path中,但是每当您编写从X导入x或从z导入Z时,Python解释器都会查看A文件夹。

但是请确保您在sys.path中添加的路径来自当前目录,或者它是完整路径。

您也可以将A文件夹添加到PYTHONPATH

以上是关于将Python导入函数从另一个目录导入文件,然后从另一个目录导入另一个函数的主要内容,如果未能解决你的问题,请参考以下文章

我无法从另一个文件夹导入函数,它导致导入错误(ImportError:无法导入名称'token_required')

从另一个目录导入python模块

使用 Python 3 从另一个目录中的模块导入本地函数,并在 Jupyter Notebook 中进行相对导入

从另一个文件中的类导入函数?

如何从另一个目录导入 python 包?

从另一个目录导入的Python失败