在Python项目开发过程中,有的时候会获取程序文件的相对路径或者绝对路径。因此经常会见到如下的语句:
import os
os.path.dirname(__file__)
因此本文件这里的__file__
是指明什么呢?
其实就是当前python脚本运行的路径,再加上dirname实际上就是当前脚本的文件夹名称,但是也会分不同的情况。
如果执行命令时使用绝对路径,__file__
就是脚本的绝对路径。
如果使用的是相对路径,__file__
就是脚本的相对路径。
然而:在交互式环境中,则会爆出异常。因为此时__file__
并未生成。
如以下代码:
import os
print os.path.dirname(__file__)
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-3-b4616cfaa58d> in <module>()
----> 1 print os.path.dirname(__file__)
NameError: name '__file__' is not defined