Python package/module 从子包导入函数
Python package/module import functions from sub packages
我正在构建一个 python 包来对工作中的系统进行一些审计。到目前为止,我已经能够使用自由浮动的 .py 文件和 运行 将主文件与模块文件放在同一目录中。在高层次上,我想创建一个包,其中包含多个用于特定审计的子包。 bigpackage>subpackage>modulefile.py 我希望能够从模块文件中导入特定的 functions/methods。我怎样才能做到这一点?
我为我的所有包准备了 __init__
文件,并且可以使用像 modulefile.function1(bla, bla, bla)
这样的点运算符使用通常的 from bigpackage import modulefile
和 运行 来访问它们 我希望能够直接导入特定函数,这样我就可以 运行 而无需使用像 function1(bla, bla, bla)
这样的点运算符。
from bigpackage.subpackage.modulefile import function1, function2
function1(bla, bla, bla)
来自:
How to import a module given the full path?
我的目录布局:
/my_package
/__init__.py
/testfile.py
/my_module
/__init__.py
方法一:
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()
我正在构建一个 python 包来对工作中的系统进行一些审计。到目前为止,我已经能够使用自由浮动的 .py 文件和 运行 将主文件与模块文件放在同一目录中。在高层次上,我想创建一个包,其中包含多个用于特定审计的子包。 bigpackage>subpackage>modulefile.py 我希望能够从模块文件中导入特定的 functions/methods。我怎样才能做到这一点?
我为我的所有包准备了 __init__
文件,并且可以使用像 modulefile.function1(bla, bla, bla)
这样的点运算符使用通常的 from bigpackage import modulefile
和 运行 来访问它们 我希望能够直接导入特定函数,这样我就可以 运行 而无需使用像 function1(bla, bla, bla)
这样的点运算符。
from bigpackage.subpackage.modulefile import function1, function2
function1(bla, bla, bla)
来自: How to import a module given the full path?
我的目录布局:
/my_package
/__init__.py
/testfile.py
/my_module
/__init__.py
方法一:
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()