python 不同目录间的模块调用

有时候调用的模块不再同一个目录。直接import 是加载不进来的。默认的加载路径是sys.path中指定的路径。如果要指定加载的目录得需要把这个目录加到sys.path里面。

比如要加载父目录的同级目录下的模块。

当前文件atm.py 要加载的模块settings.py

1、先找到当前文件的绝对路径

import os
print(os.path.abspath(__file__))#abspath 返回文件的绝对路径、__file__文件的相当路径

 2、找到父级目录

import os
print(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))#E:pywwwday04Atm

 3、添加环境变量

import os
import sys
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(BASE_DIR)#

 5、加载模块

from conf import settings
from core import main
settings.main() #main 

 settings.py code:

def main():
    print('main ')
原文地址:https://www.cnblogs.com/qing-chen/p/7294128.html