Python 引入根目录变量、函数

需求:

 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.htmlicon-default.png?t=M5H6https://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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值