这篇文章主要介绍“Python怎么读取相对路径文件”,在日常操作中,相信很多人在Python怎么读取相对路径文件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python怎么读取相对路径文件”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
Python读取相对路径文件
例如下图目录结构:
第一种情况
1)xxx.py想要打开a.txt,使用相对路径,有如下两种方式:
思路:
xxx.py想打开的是b_file下的文件,XXX.py和b_file都在文件目录之下,两者是同级目录,因此操作就是在当前目录向下搜索,因此就可以很容易理解下面的意思了
特别提示:… 是错误的,打开的是上级目录
with open(r"b_filea.txt","r") as file: with open(r"._filea.txtx", "r") as file:
2)ab.py尝试打开b_file下的a.txt,应该怎么写:
思路,首先要定位到上级目录,在上级目录下找到b_file下的.TXT
with open(r".._fileaa.txt", "r") as f: print(f.read())
最后:如果想要使用绝对路径也很简单:
xxx.py打开b_file下的a.txt中,我们可以使用OS库,获取到xxx.py的当前路径,再然后通过组合的方式电子杂志到绝对路径。
当然还可以分成两部,使用os.path.join(路径,PATH1)进行两个路径的自动合并,去获取到完整的路径,也是可行的。
import os path = os.getcwd()#获取当前路径 with open(path+"._filea.txt", "r") as file: import os path = os.getcwd() a_path = os.path.join(path, "b_file/a.txt") print(a_path)
从下级目录向上级目录合并,也是可以使用加入方法实现的
os.path.abspath(os.path.join(path, ".."))
python读取文件路径失败的原因
今天用tensorflow读取csv文件,一直读取失败,后来发现是因为文件名的路径问题
例如:
DATA_FILE = ['F:vscodekiwi.csv']
这个时候出错,是因为系统将‘’解释为了转义字符串,即便是放在当前路径下,只写文件名还是会失败。
不清楚为什么vscode软件无法识别当前路径。总之使用正确的绝对路径就行了。
为了避免出现转义字符导致文件地址解析出错,我们可以使用双斜杠,或者反方向的斜杠。
DATA_FILE = ['F:vscodekiwi.csv'] DATA_FILE = ['F:/vscode/kiwi.csv']