Python如何读取相对路径文件

 更新时间:2023年03月02日 09:13:27   作者:寸草心2130  
这篇文章主要介绍了Python如何读取相对路径文件问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

Python读取相对路径文件

例如下图目录结构:

在这里插入图片描述

第一种情况

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

思路:

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

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

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

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

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

    with open(r"..\b_file\aa.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+".\b_file\a.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:\vscode\kiwi.csv']

这个时候出错,是因为系统将‘\’解释为了转义字符串,即便是放在当前路径下,只写文件名还是会失败。

不清楚为什么vscode软件无法识别当前路径。总之使用正确的绝对路径就行了。

为了避免出现转义字符导致文件地址解析出错,我们可以使用双斜杠,或者反方向的斜杠。

DATA_FILE = ['F:\\vscode\\kiwi.csv']
DATA_FILE = ['F:/vscode/kiwi.csv']

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 基于python yield机制的异步操作同步化编程模型

    基于python yield机制的异步操作同步化编程模型

    这篇文章主要介绍了基于python yield机制的异步操作同步化编程模型,需要的朋友可以参考下
    2016-03-03
  • python如何复制别人的虚拟环境

    python如何复制别人的虚拟环境

    这篇文章主要介绍了python如何复制别人的虚拟环境问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • 分析如何在Python中解析和修改XML

    分析如何在Python中解析和修改XML

    我们经常需要解析用不同语言编写的数据。Python提供了许多库来解析或拆分用其他语言编写的数据。在此Python XML解析器教程中,您将学习如何使用Python解析XML
    2021-06-06
  • Python实现图片和base64转换详解

    Python实现图片和base64转换详解

    这篇文章主要介绍了Python实现图片和base64转换详解,Base64是一种二进制到文本的编码方式,如果要更具体一点的话,可以认为它是一种将 byte数组编码为字符串的方法,而且编码出的字符串只包含ASCII基础字符,需要的朋友可以参考下
    2024-01-01
  • 浅谈Python从全局与局部变量到装饰器的相关知识

    浅谈Python从全局与局部变量到装饰器的相关知识

    今天给大家带来的是关于Python的相关知识,文章围绕着Python从全局与局部变量到装饰器的相关知识展开,文中有非常详细的介绍及代码示例,需要的朋友可以参考下
    2021-06-06
  • tkinter高级布局之PanedWindow和notebook详解

    tkinter高级布局之PanedWindow和notebook详解

    本文主要介绍了tkinter中的两种布局控件,分别是可以动态划分子控件的PanedWindow,和提供了选项卡工具的notebook,感兴趣的小伙伴可以学习一下
    2023-08-08
  • python之dlib包安装失败问题及解决

    python之dlib包安装失败问题及解决

    这篇文章主要介绍了python之dlib包安装失败问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • Python如何通过subprocess调用adb命令详解

    Python如何通过subprocess调用adb命令详解

    python可以说是写一些小脚本的利器语法简单,做为最著名的就“胶水语言”用它来写一些命令脚本非常的方便。下面这篇文章主要给大家介绍了关于Python如何通过subprocess调用adb命令的相关资料,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。
    2017-08-08
  • 对python中使用requests模块参数编码的不同处理方法

    对python中使用requests模块参数编码的不同处理方法

    今天小编就为大家分享一篇对python中使用requests模块参数编码的不同处理方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • python 获取键盘输入,同时有超时的功能示例

    python 获取键盘输入,同时有超时的功能示例

    今天小编就为大家分享一篇python 获取键盘输入,同时有超时的功能示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-11-11

最新评论