一、问题
今日输出文件,需要用到当前目录,执行的时候发现,python 3.8在执行 os.path.dirname(file) 无返回值
以下为具体代码:
import os
print('当前目录:',os.path.dirname(__file__))
print('当前目录:',os.path.dirname(os.path.abspath(__file__)))
在Python3.8环境,执行结果如下,第一行没有返回值,第二个可以得到返回值,如下:
而在Python3.10环境,两行代码可以获得同样的结果:
二、解决办法
所以为了兼容不同Python环境,最终决定使用os.path.dirname(os.path.abspath(file)) 作为返回当前目录的方法。
目前是有Python3.8 和Python3.10 两个运行环境,不知道是否在其它环境也存在这个问题。这里展示一下,给大家填个坑。