__file__
__file__
直接在目录里面执行,结果显示当前文件, 不管在哪个文件中引用, 都返回该代码所在文件路径 (在Pycharm中会显示绝对路径) , 此变量在ipython中不可用
os.path.dirname()
去掉脚本的文件名,返回目录。
os.path.dirname(os,path.realname(__file__))
指的是,获得你刚才所引用的模块 所在的绝对路径,__file__
为内置属性。
用__file__
来获得脚本所在的路径是比较方便的,但这可能得到的是一个相对路径,比如在脚本test.py中写入:
#!/usr/bin/env python
print __file__
按相对路径./test.py来执行,则打印得到的是相对路径,
按绝对路径执行则得到的是绝对路径。
而按用户目录来执行(/practice/test.py),则得到的也是绝对路径(被展开)
所以为了得到绝对路径,我们需要
os.path.realpath(__file__)
print( __file__)
'''版权声明:本文为CSDN博主「白清羽」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/gufenchen/article/details/90552370'''
os.getcwd()
os.getcwd()
获得脚本路径,可以理解为 当前的执行目录,完全 与py文件所在的位置无关(比如在model A import model B)
os.path.realpath(__file__)
获得该文件所在的路径