如何从调用.py脚本的文件夹中导入文件?

时间:2020-03-07 05:47:13

标签: python

我目前正在处理要上传到pypi的python软件包。

将来,其他开发人员将通过pip install安装此软件包,然后使用import name_of_package将其加载到他们的.py文件中。

为了正常运行,我的python程序包需要从导入该文件夹的同一文件夹中导入另一个.py文件。

因此,我们假设有人在/documents/python/some_project/中工作,并且他将我的软件包导入了他的main.py脚本中。然后,我的打包脚本将在secondary.py所在的同一文件夹(即main.py中搜索名为/documents/python/some_project/的文件,然后将secondary.py导入打包脚本。

如何在包脚本中编写此导入语句?

1 个答案:

答案 0 :(得分:0)

经典方法是使用相对导入;

from .other_module import foo_function
from .other_module import BarClass

请参阅Python文档中的The import statement

您还可以查看importlib.import_module

但是,在您的特定情况下,您想要调用可能位于用户目录中任何位置的外部Python脚本。

为此,您可以使用exec函数。但是,请确保您正在调用的代码是安全代码。

使用pip install时,已安装的软件包存储在用户的virtualenv中;不在用户的源目录中。我想您也对此感到困惑。