__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