python跨文件夹使用基本代码

Python use basic code across folders

本问题已经有最佳答案,请猛点这里访问。

我有目录结构的python代码-

1
2
3
4
5
6
7
8
main.py
basics.py
component1
  file1.py
  file2.py
component2
  file1.py
  file2.py

我希望目录component1和component2中的代码使用basics.py中的代码。做这件事最要紧的方法是什么?

谢谢!


考虑到application作为python项目的根目录,在application文件夹中创建一个空的__init__.py文件。然后在目标filename.py文件(如component1/file1.py文件)中,对func_name的定义进行如下修改:

1
2
3
4
import sys
sys.path.insert(0, r'/from/root/directory/')

from application.basic import func_name ## use '*' wildcard to import all the functions in basic.py file.

在component1、component2等文件的顶部。

1
from ..basics import class1, function2,    # or a wildcard like *