示例目录结构:
1. 通过os模块获取文件所在的绝对路径
2. 获取文件的父级目录的绝对路径
3. 通过sys模块将获取到的绝对路径加入到环境变量中
4. 导入模块或包
以下为在sz.py文件中通过导入core的main_sz模块执行conf下settings.py中的代码演示
#!/usr/bin/env python
#_*_ coding: utf-8 _*_
# 这个是 sz.py 文件
import os,sys
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.insert(0,BASE_DIR)
from core import main_sz
#!/usr/bin/env python
#_*_ coding: utf-8 _*_
# 这个是 main_sz 文件
import os,sys
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.insert(0,BASE_DIR)
import conf
conf.settings.sz_setting()
#from conf import settings #使用和上面一样from导入的方法就不需要在__init__.py中进行导入了
#settings.sz_setting()
# 这个是与 settings.py 同级的 __init__.py 文件
from . import settings
#!/usr/bin/env python
#_*_ coding: utf-8 _*_
# 这个是 settings.py 文件
print("This is setting module")
def sz_setting():
print("欢迎使用setting测试模块")
执行结果如下:
This is setting module
欢迎使用setting测试模块