模块绝对路径使用

__file__变量在终端和IDE的路径表达是不一样的:

 1 import os
 2 print(__file__)       #拿到当前目录路径
 3 aa = os.path.dirname(__file__)    #拿到上一级目录路径
 4 print(aa)
 5 bb = os.path.dirname(os.path.dirname(__file__))    #拿到再上级的目录路径
 6 print(bb)
 7 cc = os.path.join(os.path.dirname(os.path.dirname(__file__)),"day2")  #找到其他路径
 8 print(cc)
 9 dd = os.path.abspath(__file__)       #当前绝对路径,本机终端执行和pycharm的IDE上表现一样
10 print(dd)
11 #注意:由于本机终端执行的路径默认省略了前面的路径,这个和pycharm的ide上执行表现不一样
12 #因此建议在模块调用时使用abspath,避免报错
13 
14 执行结果:
15 D:/工具/pycharm/PycharmProjects/20160330/day3/test.py
16 D:/工具/pycharm/PycharmProjects/20160330/day3
17 D:/工具/pycharm/PycharmProjects/20160330
18 D:/工具/pycharm/PycharmProjects/20160330day2
19 D:工具pycharmPycharmProjects20160330day3	est.py

如果在终端上执行print(__file__)的到的结果会是test.py

原文地址:https://www.cnblogs.com/repo/p/5418822.html