Python - 从项目根目录加载文件

mr-*_*-sk 7 python oop

我的项目布局如下:

? ...
??? pve
?   ??? blahblah
?   ?   ??? TestDefinition.py
?   ?   ??? TestDefinition.pyc
?   ?   ??? __init__.py
?   ?   ??? __init__.pyc
?   ??? pve.py
??? src
?   ??? definitions
?       ??? THISFILE.yml
??? ...
Run Code Online (Sandbox Code Playgroud)

我需要能够通过pve/blahblah/TestDefinition.py类从src/definitions获取文件(例如THISFILE.yml).

如何正确访问项目根目录?有了这个,我可以相对访问.yml文件.TIA.

dm0*_*514 11

我喜欢在项目根目录中创建某种配置文件,该文件具有到根的aboslute路径.我这样做只是因为我经常使用的框架(django,scrapy)有这样的约定

? ...
??? pve
?   ??? blahblah
?   ?   ??? TestDefinition.py
?   ?   ??? TestDefinition.pyc
?   ?   ??? __init__.py
?   ?   ??? __init__.pyc
?   ??? pve.py
??? src
?   ??? definitions
?       ??? THISFILE.yml
??? settings.py



# settings.py

import os
PROJECT_ROOT = os.path.abspath(os.path.dirname(__file__))
DEFINITIONS_ROOT = os.path.join(PROJECT_ROOT, 'src', 'definitions')


from myproject import settings 
settings.DEFINITIONS_ROOT
Run Code Online (Sandbox Code Playgroud)

  • @ dm03514你在这里指的是'myproject`作为包含'pve'和'src'文件夹的项目根文件夹.我正在尝试类似的东西,但从根目录导入文件需要在项目根目录下放置`__init__`文件.这是可取的吗?谢谢. (3认同)