Python跨文件夹使用基本代码
我有目录结构的python代码-Python跨文件夹使用基本代码,python,Python,我有目录结构的python代码- main.py basics.py component1 file1.py file2.py component2 file1.py file2.py 我希望目录component1和component2中的代码使用basics.py中的代码。做这件事最像蟒蛇的方式是什么 谢谢 位于组件1、组件2等内部文件的顶部 from ..basics import class1, function2, # or a wildcard like *
main.py
basics.py
component1
file1.py
file2.py
component2
file1.py
file2.py
我希望目录component1和component2中的代码使用basics.py中的代码。做这件事最像蟒蛇的方式是什么
谢谢 位于组件1、组件2等内部文件的顶部
from ..basics import class1, function2, # or a wildcard like *
将
application
作为python项目的根目录,在application文件夹中创建一个空的\uuuuu init\uuuuuuuuuuy.py
文件。然后在目标filename.py
(例如,component1/file1.py
)文件中,进行如下更改以获取func\u name
的定义:
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.
相对进口令人讨厌。我希望看到包含
basics.py
的文件夹添加到PYTHONPATH,并获得\uuuu init\uuuuuuu.py
您可以选择使用相对导入或从代码更新sys.path中添加basics.py的位置。我更喜欢创建另一个名为lib或utils的目录,将basics.py移到那里,添加init.py,将PYTHONPATH更新到父目录,然后导入。从lib.basics import foo、component1.file1导入栏等中导入的内容看起来干净且一致。