这个功能纠结了一下午,做了测试以后总算是明白了
__file__表示显示文件当前的位置
但是:
如果当前文件包含在sys.path里面,那么,__file__返回一个相对路径!
如果当前文件不包含在sys.path里面,那么__file__返回一个绝对路径!
先来看测试:记住,下面的测试是假设“”不属于sys.path的情况下!!!
图1是sys.path的图
命令行cd到文件所在目录,执行,你所在的位置实际上是"",所以他返回相对地址
操作目录往上返回一层,并在python后面执行的时候添加目录
这样,文件所在位置并不是操作所在位置,也就是不是""
而mystuff也不在sys.path里面,所以,他返回绝对路径!
包括我们换一种执行方法,他也是返回绝对路径!