Python __file__ 详解

这个功能纠结了一下午,做了测试以后总算是明白了

__file__表示显示文件当前的位置

但是:

如果当前文件包含在sys.path里面,那么,__file__返回一个相对路径!

如果当前文件不包含在sys.path里面,那么__file__返回一个绝对路径!


先来看测试:记住,下面的测试是假设“”不属于sys.path的情况下!!!


图1是sys.path的图



命令行cd到文件所在目录,执行,你所在的位置实际上是"",所以他返回相对地址

Python __file__ 详解_第1张图片


操作目录往上返回一层,并在python后面执行的时候添加目录

这样,文件所在位置并不是操作所在位置,也就是不是""

而mystuff也不在sys.path里面,所以,他返回绝对路径!


Python __file__ 详解_第2张图片


包括我们换一种执行方法,他也是返回绝对路径!


你可能感兴趣的:(Python)