【1.62】路径修改 base_dir
iimport sys
print(sys.path)
#打印上一级目录 就是包含自己的文件夹 以及环境变量的值
#pycharm 可能会加上自己的文件夹 最最外层的项目的目录名
一般建立一个项目 bin。py 放在 bin 文件下
所以 目录结构
modulefile
------bin
-----bin.py
------modulepacket
------cal.py
------main.py
bin.py 学习
import sys #from modulepacket import main # 这样调用就会出错了,因为目录不一样了 ModuleNotFoundError: No module named 'modulepacket' #这里调用 只能是bin.py 和 modulepacket 同一级目录 #这里如果还需要调用main 就要将main的路径加进来 sys.path.append(r"D:\untitled\module\modelfile") from modulepacket import main main.run(1,2,3,4,5) #15 print (sys.path) #当然加路径的方法 这是最笨的办法 因为写死了 不灵活 #看看下面的方法 import os print(__file__) #D:/untitled/module/modelfile/bin/bin.py #我们看到用这个方法 取到了该bin.PY的绝对路径 ,实际上只是取到bin.py 路径是pycharm加上的
#所以还需要 os.path.abspath(__file__) 获取绝对路径 print(os.path.dirname(__file__)) #D:/untitled/module/modelfile/bin #取到括号内paths 上一级目录 print(os.path.dirname(os.path.dirname(__file__))) #D:/untitled/module/modelfile #取到最里面括号内路径的上两级目录 #那这样 就和我们需要的bin.py需要导入的路径一样了 base_dir=os.path.dirname(os.path.dirname(os.path.abspath(__file__))) sys.path.append(base_dir) from modulepacket import main main.run(1,2,3,4,5) #15
bin.PY \以后就这样用
import sys import os base_dir=os.path.dirname(os.path.dirname(os.path.abspath(__file__))) sys.path.append(base_dir) from modulepacket import main main.run(1,2,3,4,5) #15
main.py
from modulepacket import cal def run(*args): print (cal.add(*args))
cal.py
def add(*args): res = sum(args) return res if __name__ == "__main__": print(add(1,2,3,4,5))
浙公网安备 33010602011771号