我正在构建一个python包来对工作中的系统进行一些审核。到目前为止,我已经能够使用自由浮动的.py文件,并在与模块文件相同的目录中运行主文件。在高级别,我想创建一个包含几个子包以进行特定审计的包。 bigpackage> subpackage> modulefile.py我希望能够从modulefile导入特定的函数/方法。我怎样才能做到这一点?
我的所有包都有__init__
个文件,可以使用通常的from bigpackage import modulefile
访问它们,并使用像modulefile.function1(bla, bla, bla)
这样的点运算符运行它们我希望能够导入特定的函数直接所以我可以在不使用function1(bla, bla, bla)
之类的点运算符的情况下运行。
答案 0 :(得分:2)
from bigpackage.subpackage.modulefile import function1, function2
function1(bla, bla, bla)
答案 1 :(得分:0)
自: How to import a module given the full path?
我的目录布局:
/my_package
/__init__.py
/testfile.py
/my_module
/__init__.py
方法1:
import imp
my_module = imp.load_sourc('my_module','.my_module/__init__.py')
my_module.function1()
或限制导入:
import sys
import os
sys.path.append(os.path.dirname(os.path.realpath(__file__)))
from my_module import function1
function1()