2022年 11月 7日

python 相对路径

目录组成结构:

第一种情况:

1)xxx.py想要打开a.txt,使用相对路径,有如下两种方式:

思路:

xxx.py想打开的是b_file下的文件,XXX.py和b_file都在文件目录之下,两者是同级目录,因此操作就是在当前目录向下搜索,因此就可以很容易理解下面的意思了

特别提示:.. \是错误的,打开的是上级目录

  1. with open(r"b_file\a.txt","r") as file:
  2. with open(r".\b_file\a.txtx", "r") as file:

2)ab.py尝试打开b_file下的a.txt,应该怎么写:

思路,首先要定位到上级目录,在上级目录下找到b_file下的.TXT

  1. with open(r"..\b_file\aa.txt", "r") as f:
  2. print(f.read())

最后:如果想要使用绝对路径也很简单:

xxx.py打开b_file下的a.txt中,我们可以使用OS库,获取到xxx.py的当前路径,再然后通过组合的方式得到绝对路径。

当然还可以分成两部,使用os.path.join(路径,PATH1)进行两个路径的自动合并,去获取到完整的路径,也是可行的。

  1. import os
  2. path = os.getcwd()#获取当前路径
  3. with open(path+".\b_file\a.txt", "r") as file:
  1. import os
  2. path = os.getcwd()
  3. a_path = os.path.join(path, "b_file/a.txt")
  4. print(a_path)

从下级目录向上级目录合并,也是可以使用加入方法实现的

os.path.abspath(os.path.join(path, ".."))