需求:
Python 引入根目录__init__.py文件中的变量、函数 (每天一个奇奇怪怪的需求)
项目文件结构:
project_root
__init__.py
test.py
modelA
__init__.py
## 在test.py中调用 根目录__init__.py文件中的内容
解决过程:
1. 平时我们使用下面的方法, 调用modelA > __init__.py
# test.py from modelA import *
2. 那我们调用根目录应该怎么调用?
有三种方法
1. 添加至PYTHONPTATH环境变量
2. 使用os sys 读取文件
3.借助项目中已有的lib库,添加pth文件(不推荐)
1. 添加至PYTHONPTA 环境变量
具体的操作就是,在环境变量配置文件中配置PYTHONPATH(比如,我们的项目在Linux上的位置为:/opt/my/bank_stm): 编辑环境变量配置文件:sudo vim ~/.bash_profile 在文件末尾追加如下两行,并保存: # 注意这里是Python项目根目录的上一级目录 PYTHONPATH=/opt/my export PYTHONPATH 使配置立即生效:source ~/.bash_profile 通过上面的配置之后,我们就可以使用常规 from import 导入
2.使用os sys 读取文件
import sys
import os
sys.path.append(os.path.abspath('../project_root')) # project_root 项目根路径
from __init__ import a_method
if __name__ == '__main__':
a_method()
# 通过sys os 加载项目下的文件,导入函数a_method
3.借助项目中已有的lib库,添加pth文件
which python /home/usr_name/.virtualenvs/py3.6.9/bin/python cd /home/usr_name/.virtualenvs/py3.6.9/lib/python3.6/site-packages ls | grep pth # 会发现有几个pth文件,比如 easy-install.pth matplotlib-3.2.1-py3.6-nspkg.pth protobuf-3.12.2-py3.6-nspkg.pth # 这时可以建立一个临时的pth文件,将根目录添加进去 vi foo.pth yours_root_path # 写入根目录并保存,即可在sys.path中看到新添加的目录
参考来源:感谢他们的分享。
https://www.csdn.net/tags/MtTaEg5sMzc3MzItYmxvZwO0O0OO0O0O.htmlhttps://www.csdn.net/tags/MtTaEg5sMzc3MzItYmxvZwO0O0OO0O0O.html
Python 添加根目录的三种方法_Sesen_s的博客-CSDN博客_python 根目录Python 添加根目录的三种方法1. 将"."添加至PYTHONPTAH环境变量 【推荐】在~/.zshrc中,export PYTHONPATH=${PYTHONPATH}:"."echo ${PYTHONPATH}import osprint(os.environ["PYTHONPATH"])2. sys.path.append或者insert,对访问到根目录的py文件,手动添加根目录import sys# 常用方式1sys.path.insert(0, '../') #https://blog.csdn.net/weixin_40546602/article/details/111579500?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~aggregatepage~first_rank_ecpm_v1~rank_v31_ecpm-1-111579500-null-null.pc_agg_new_rank&utm_term=python+%E5%AF%BC%E5%85%A5%E6%A0%B9%E7%9B%AE%E5%BD%95&spm=1000.2123.3001.4430



