2022年 11月 5日

python获取当前文件所在目录、获取上级目录的坑

在项目里为了方便迁移到其它机器不会出现路径错误,经常使用相对路径。

在python中获取当前文件所在路径的方式有以下几种:

第一种是获取当前文件的全路径:

  1. # 获取当前文件的路径,包括文件名
  2. print(__file__)

第二种是获取当前文件所在目录:

  1. # dirname去掉文件名,返回目录
  2. print(os.path.dirname(__file__))

第三种是获取当前文件的工作目录:

  1. # getcwd返回当前工作目录,有可能和当前文件所在目录不同
  2. print(os.getcwd())

实际写程序的时候,如果怎么配路径都不对的话,有可能是因为用的不是当前文件的工作目录——有时候当前文件的工作目录和当前文件实际所在的目录是不一样的。。。

所以配置相对路径时,第一步先使用os.getcwd()查看当前文件所在的工作目录,然后再做具体的配置。

获取上级目录,及上上级目录方法如下:

  1. # 获取上级目录
  2. print(os.path.abspath(os.path.join(os.getcwd(), "..")))
  3. # 获取上上级目录
  4. print(os.path.abspath(os.path.join(os.getcwd(), "../..")))