9.1 Python 绝对路径与相对路径

article/2025/11/8 23:00:55

第九章 文件的读写操作

9.1 Python 绝对路径与相对路径

9.1.1 准备工作

第1步:对照下图,新建文件和文件夹:

在这里插入图片描述

1.在桌面新建文件夹,命名为file。
2.在file文件夹中新建2个文件夹,分别命名为a_file, b_file。
3.在file文件夹中新建1个txt文件,命名为xxx.txt,在xxx.txt 文件中写入“好好学习,天天向上!!!”。
4.在a_file文件夹中新建1个txt文件,命名为aaa.txt,在aaa.txt 文件中写入“恭喜你,文件读取成功!!!”。
5.在b_file文件夹中新建c_file文件夹,在c_file文件夹新建一个ccc.txt文档,在文档中写入“今天星期六!!!”。
6.在b_file文件夹中新建1个txt文件,命名为bbb.txt,在bbb.txt 文件中写入“今天下雨了!!!”。
7.在b_file文件夹中新建1个b.py文件。

第2步:用vscode打开b_file文件夹。

注意
用相对路径只能打开b_file文件夹,否则后面的代码会报错!!!
但是用绝对路径打开文件时,可以不限制打开的文件夹。

9.1.2 绝对路径

1.什么是绝对路径

在Python读取文件时,我们首先需要知道文件的路径,即存储位置。
就像人工手动打开文件一样,首先你要知道文件存储在c盘或d盘的具体位置。

Python的文档路径有两种表述方式:
第1种是绝对路径:就是从盘符(c盘、d盘)开始一直到文件所在的具体位置。
绝对路径就是文件或文件夹在硬盘上的完整路径。
在 Windows 系统中,绝对路径是以磁盘名称开头,如 C:或者 D: ,具体的文件或文件夹名称做结尾。
例如:xxx.txt 文件的绝对路径为:
"C:\Users\xiaoyuzhou\Desktop\file\xxx.txt"
绝对路径是唯一的,只有一个。

2.查看绝对路径的方法有2种

方法1:点击文件上方的搜索栏;

在这里插入图片描述

方法2:鼠标点击文件xxx.txt,然后按住【shift】,再点击鼠标右键,最后点击【复制文件地址】。

在这里插入图片描述

3.用绝对路径打开文件
首先打开b.py 文件,在b.py 文件中输入下面的代码。
用绝对路径打开文件,可以不限制打开的文件夹。

# 用绝对路径打开xxx.txt   
txt = open (
"C:\\Users\\xiaoyuzhou\\Desktop\\file\\xxx.txt", 
encoding='utf-8') 
print(txt.read())

【终端输出】
好好学习,天天向上!!!

因为图片显示不全,所以代码里我有换行,大家编写时候不用换行。

4.代码解析
open 是一个Python的内置函数,作用是打开文件,函数里面有2个参数;
第1参数是文件的绝对路径:C:\Users\xiaoyuzhou\Desktop\file\xxx.txt";
第2参数是文件编码格式:encoding=‘utf-8’;

read 也是一个Python的内置函数,作用是读取整个文件,并将读取到的文件内容存放到一个字符串变量中。
open 函数后面会有详细的介绍,这里仅做了解。

5.注意事项:改写绝对路径时加一个\

xxx.txt 文件的的绝对路径原本为:
“C:\Users\xiaoyuzhou\Desktop\file\xxx.txt”

我在open 参数内的写的xxx.txt 文件的的绝对路径为:
“C:\\Users\\xiaoyuzhou\\Desktop\\file\\xxx.txt”

通过对比两个路径,发现我把绝对路径的单反斜杠统一写成了双反斜杠,然后放到参数中。
为什么要写成双反斜杠呢?
因为在Python中,有转义字符的语法,【\】+字母能实现特殊的功能。

在这里插入图片描述

上述代码中,如果不加双反斜杠,\f 就会被ptyhon当做转义符号处理,程序会报错,如下面的代码:

# 使用单反斜杠,\f 被当做转义字符,程序报错 
txt = open ("C:\Users\xiaoyuzhou\Desktop\file\xxx.txt" ,encoding='utf-8') 
print(txt.read())

【程序报错】

SyntaxError: (unicode error) 'unicodeescape' codec 
can't decode bytes in position 2-3: 
truncated \UXXXXXXXX escape

9.1.3 相对路径

1. 什么是绝对路径
“相对路径”就是针对“当前文件夹”这一参考对象,来描述文件路径的形式。
相对路径使用..\\.\\表示。
一个点.\\ 表示文件或文件夹所在的当前目录。
两个点..\\表示当前目录的上一级目录。
上n级就用n 个..\\表示。

2. 任务1:在b.py里打开同一个文件夹里的文件:bbb.txt。

首先用vscode 打开b_file文件夹。
然后打开b.py文件。
注意:用相对路径只能打开b_file文件夹,否则后面的代码会报错!!!

人工操作:在b.py 文件下,要打开bbb.txt 文件:直接点击bbb.txt 文件即可。

在这里插入图片描述

大家观察上面的文件流程图,发现b.py 和bbb.txt 位置一样,即在同一文件夹里。
绝对路径中一个点.\\ 表示文件或文件夹所在的当前目录。
那么相对于b.py 而言,bbb.txt 的相对路径为:.\\bbb.txtbbb.txt
因为.\\可以省略不写。
注意路径参数必须有后缀名.txt。

2.1同文件夹绝对路径省略点:bbb.txt

# 在b.py里打开同文件夹文件:bbb.txt
txt = open ('bbb.txt',encoding='utf-8')
print(txt.read())

【终端输出】

今天下雨了!!!

2.2同文件夹绝对路径不省略点:.\bbb.txt

# 在b.py里打开同文件夹文件:bbb.txt
txt = open ('.\\bbb.txt',encoding='utf-8')
print(txt.read())

【终端输出】

今天下雨了!!!

3. 任务2:在b.py里打开下一层次的文件:ccc.txt

在这里插入图片描述

大家观察上面的文件流程图,发现ccc.txt在b.py 的下一级目录里。
和b.py同级的是c_file 文件夹。
那么相对于b.py 而言,ccc.txt 的相对路径为:.\\c_file\\ccc.txtc_file\\ccc.txt
.\\可以省略不写。
注意路径参数必须有后缀名.txt。

人工操作:现在打开的是b.py 文件,在打开b.py文件下,要打开 ccc.txt,首先打开c_file,然后打开ccc.txt 文档即可。(大家按照人工打开的方式操作就能理解)

省略.\

# 在b.py里打开下一层次的文件:ccc.txt。
txt = open ('c_file\\ccc.txt',encoding='utf-8')
print(txt.read())

【终端输出】

今天星期六!!!

不省略.\

# 在b.py里打开下一层次的文件:ccc.txt。
txt = open ('.\\c_file\\ccc.txt',encoding='utf-8')
print(txt.read())

【终端输出】

今天星期六!!!

4. 任务3:在b.py里打开上一层次的文件:aaa.txt

在这里插入图片描述

大家观察上面的文件流程图,发现aaa.txt在b.py 的上一级目录里。
两个点..\\表示当前目录的上一级目录。
那么相对于b.py 而言,aaa.txt 的相对路径为:..\\a_file\\aaa.txt
人工操作:现在打开的是b.py 文件,文件所在的目录是b_file 文件夹,要打开aaa.txt,往回退一步,找到a_file 文件夹,在点击aaa.txt 即可。
文件夹往上走(后退)一次,就用1个..\\
…\不能省略。

# 任务3:在b.py里打开上1级的文件:aaa.txt。  
txt = open ('..\\a_file\\aaa.txt',encoding='utf-8')
print(txt.read())  

【终端输出】

恭喜你,文件读取成功!!!

4. 任务4:在b.py里打开上2个层次的文件:描述文档.txt

准备工作:
在电脑桌面新建一个名为【Python笔记新】文件夹,里面新建【第9章 文件读写】文件夹,里面新建【文件路径】文件夹,里面新建【相对路径】文件夹,里面新建【描述方式.txt】文档,文档中输入内容“文件夹往上走几层就用几个…\ 。”

描述方式.txt 文档绝对路径为:
“C:\Users\xiaoyuzhou\Desktop\Python笔记新\第9章 文件读写\文件路径\相对路径\描述方式.txt”

b.py 文件绝对路径为:
“C:\Users\xiaoyuzhou\Desktop\file\b_file\b.py”

观察上述2个绝对路径,发现两个文档绝对路径有相同的部分,即都在C:\Users\xiaoyuzhou\Desktop下。

人工操作:我们现在打开的是b.py 文件,b.py 文件所在的目录为b_file文件夹。要打开 描述方式.txt,首先我们往回退2次:
第1次:回到file文件夹;
第2第:退到Desktop。
然后打开桌面的Python笔记新文件夹,依次往下打开文件,就能找到描述方式.txt 文档。

操作中,我们往回退了2次,所以表述时需要用两个..\\
..\\是用来表示回退的次数。

txt = open (
'..\\..\\
Python笔记新\第9章 文件读写\文件路径\相对路径\描述方式.txt',
encoding='utf-8')
print(txt.read())

【终端输出】

文件夹往上走几层就用几个..\\ 。  

9.1.4 相对路径的写法

相对路径一开始我也很难理解,后来查阅一些资料,也咨询了一些朋友,得出下面的结论,不一定准确,仅供大家参考。
我个人理解的相对路径写法就是用..\\.\\代替2个文件绝对路径的共同部分。
…\ 表是文件夹往上走。往上走几层,就用几个..\\
.\ 表示文件是同层或者往下走。

# b.py  xxx.txt 文件绝对路径如下  
# "C:\Users\xiaoyuzhou\Desktop\file\b_file\b.py"
# "C:\Users\xiaoyuzhou\Desktop\file\xxx.txt" 
# xxx.txt在b.py的上级 
txt = open ('..\\xxx.txt',encoding='utf-8')
print(txt.read())  

【终端输出】

好好学习,天天向上!!!
# b.py  aaa.txt 文件绝对路径如下  
# "C:\Users\xiaoyuzhou\Desktop\file\b_file\b.py"
# "C:\Users\xiaoyuzhou\Desktop\file\a_file\aaa.txt"
# aaa.txt在b.py的上级 
txt = open ('..\\a_file\\aaa.txt',encoding='utf-8')
print(txt.read())  

【终端输出】

恭喜你,文件读取成功!!!
# b.py  bbb.txt 文件绝对路径如下  
# "C:\Users\xiaoyuzhou\Desktop\file\b_file\b.py"
# "C:\Users\xiaoyuzhou\Desktop\file\b_file\bbb.txt"
# bbb.txt和b.py同级
txt = open ('bbb.txt',encoding='utf-8')
print(txt.read())  

【终端输出】

今天下雨了!!!
# b.py  ccc.txt 文件绝对路径  
# "C:\Users\xiaoyuzhou\Desktop\file\b_file\b.py"
# "C:\Users\xiaoyuzhou\Desktop\file\b_file\c_file\ccc.txt"
# ccc.txt 在b.py的下一级
txt = open ('c_file\\ccc.txt',encoding='utf-8')
print(txt.read())  

【终端输出】

今天星期六!!!
# b.py 描述方式.txt 文件绝对路径  
# "C:\Users\xiaoyuzhou\Desktop\file\b_file\b.py"
# "C:\Users\xiaoyuzhou\Desktop\Python笔记新\第9章 文件读写\文件路径\相对路径\描述方式.txt"
# b.py往上走2层可以走到共同的Desktop
txt = open (
'..\\..\\Python笔记新\第9章 文件读写\文件路径\相对路径\描述方式.txt',encoding='utf-8')
print(txt.read())

【终端输出】

文件夹往上走几层就用几个..\\ 。  

9.1.5 相对路径的作用

当我们要把代码共享个其他人的时候,如果代码里用的是绝对路径,大家的用户名通常不一样,就会导致路径不一样,大家拿到代码还需要修改路径才能正常运行。
但连同文件一起拷贝,使用相对路径表述不用修改就可以正常运行。
相对路径通常用于存储在一起的文档,如果两者跨层较大,还是选用绝对路径。

9.1.6 总结

在这里插入图片描述


http://chatgpt.dhexx.cn/article/BhFfvNB4.shtml

相关文章

绝对路径、相对路径详解

绝对路径、相对路径详解 一、概括二、绝对路径、相对路径2.1 Linux文件路径分析2.2 Maven项目路径分析2.2.1、项目路径 二、如何精确查找到资源文件2.1、本地资源文件2.2、网络资源文件2.2.1、先来解释 两个名词:URI 、URL2.2.2、URI 标准格式2.2.3、URI 与 URL 区别…

相对路径和绝对路径及表示

一、介绍 相对路径,它以当前的文件作为一个起点去查找另外的一个文件的所在位置。绝对路径是从电脑盘符或者域名开始的一个完整的路径。绝对路径是可以描述一个文件其各层目录的完整结构。 符号及其符号所代表的意义如下: ./:表示当前的文件…

绝对路径、相对路径、根路径

今天探讨一下浏览器和服务器中的绝对路径、相对路径和根路径 浏览器中 对于浏览器而言,是无法知道服务器中,文件目录路径的。因为浏览器获取的文件资源,很可能跟服务器中文件资源目录不对应。而服务器是知道每个文件和资源在具体的哪个位置…

c/c++ 绝对路径与相对路径

电脑硬盘C盘Program Files下,建新项目“test”,"test"下建立子文件夹“file”和头文件"data.h","file"下建新建文件“data.cpp”, 电脑资源管理器显示目录 C:Program Files\test\file\data.cpp 1. 相对路径 …

【详解】绝对路径和相对路径

通俗易懂: ①绝对路径: 在计算机中找到文件的位置,计算机表示文件位置的方式是路径。描述计算机完整的文件位置的路径称为绝对路径,如C:/website/web/a.html,这样我们通过这个路径找到文件的位置。在网站中&#xff0c…

7、绝对路径和相对路径

我们在使用 HTML 中的 <a> 标签、<img> 标签、<link> 标签以及 <script> 标签时往往会涉及到路径。例如 <a> 标签&#xff0c;如果我们在写路径时&#xff0c;使用了错误的路径&#xff0c;就会导致跳转失败&#xff0c;为了避免这种情况&#x…

Java中的绝对路径和相对路径

绝对路径和相对路径&#xff1a; 绝对路径&#xff1a; 绝对路径名是完整的路径名&#xff0c;不需要任何其他信息就可以定位它所表示的文件。&#xff08;注意&#xff1a;文件路径不能出现中文字符&#xff0c;否则可能会报错&#xff09; 相对路径&#xff1a; 在IDEA环境中…

Linux中的绝对路径和相对路径

回到顶部 一、介绍 1&#xff0c;文件路径 什么是文件的路径&#xff1f; 答&#xff1a;这个文件存放的地方&#xff0c;可以联想为 文件的“家”。 在Linux中&#xff0c;存在着绝对路径和相对路径 绝对路径&#xff1a;路径的写法一定是由根目录 / 写起的&#xff0c;例…

最最基础的干货:Linux中的绝对路径和相对路径

路径是Linux中最基本的概念之一&#xff0c;这是每个Linux用户都必须知道的。 路径是Linux中最基本的概念之一&#xff0c;这是每个Linux用户都必须知道的。 路径是指文件和目录的引用方式。它给出了文件或目录在 Linux 目录结构中的位置&#xff0c;由名称和斜杠组成。 /ho…

文件名 绝对路径与相对路径

EGE专栏&#xff1a;EGE专栏 目录 1. 文件路径1.1 DOS路径的构成1.1.1 卷号或驱动器1.1.2 目录名称1.1.3 文件名 1.2 当前目录 (Current directory)程序中当前目录的获取 1.3 切换盘符&#xff08;驱动器跳转&#xff09;1.4 设置当前目录1.4.1 驱动器的当前目录如何查看各驱动…

【软考学习14】绝对路径和相对路径的区别和联系

本文讲解文件存储中绝对路径和相对路径的区别和联系。简单来讲&#xff0c;绝对路径是把文件所在的完整路径逐一标识出来&#xff0c;相对路径是对某个目录的参考路径&#xff0c;在实战项目的开发中&#xff0c;相对路径会使用的多一些&#xff0c;绝对地址可以用于开发调试环…

python绝对路径和相对路径

今天记录一下python绝对路径和相对路径的问题 提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、绝对路径二、相对路径三、如何查看当前所在目录 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可…

python的绝对路径和相对路径

一、绝对路径 一个文件的真实位置&#xff0c;根据这个路径层级可以找到这个文件即绝对路径。在wins上可以通过shift 鼠标右键调出来该文件的绝对路径&#xff0c;shift建按住不要松。 二、相对路径 相对路径即相对于当前的工作文件夹&#xff0c;你的路径是什么。 【绝对路径…

关于绝对路径与相对路径(详细)

绝对路径与相对路径总结&#xff08;详细&#xff09; 绝对路径与相对路径1 绝对路径1.1绝对路径&#xff08;盘符&#xff09;1.2绝对路径&#xff08;网址&#xff09; 2 相对路径2.1 相对路径(平级)2.2 相对路径(上一级)2.3 相对路径(下一级) 绝对路径与相对路径 在页面布局…

【计算机基础】绝对路径和相对路径

目录 一.绝对路径 二.相对路径 例如 三.举例 一.绝对路径 绝对路径是指从根目录开始的完整路径&#xff0c;包括所有父目录的路径&#xff0c;直到目标文件或者目录 所在的位置。 全文件名全路径文件名绝对路经完整的路径 例如&#xff0c;在windows系统中&#xff0c;绝…

Navicat premium 12 破解版下载及安装过程

在网上找了很多Navicat的破解版及下载补丁&#xff0c;都失效了&#xff0c;发现自己保留了一份&#xff0c;分享给大家。 链接&#xff1a;https://pan.baidu.com/s/1wK0j9SCm3LQLQmArjzwIyw 提取码&#xff1a;2333 1、首先安装navicat120_premium_cs_x64.exe&#xff0c;安…

LinuxCentOS安装破解版Navicat

首先在官网下载好对应位数版本的Navicat https://www.navicat.com.cn/download/navicat-premium 然后上传到linux上解压好 双击进来后点开这个文件 把编码改为中文 进入Navicat文件夹里,把该文件夹下所有东西都删除掉,留一个空文件夹 https://download.csdn.net/download/kxj1…

Mac OS下破解Navicat Premium

1、下载Navicat Premium 英文64位 http://download.navicat.com/download/navicat120_premium_en.dmg 中文简体64位 http://download.navicat.com/download/navicat120_premium_cs.dmg 2、生成自己的RSA公钥私钥对 注意&#xff1a;密钥是2048位的&#xff0c;PKCS#8格式 生…

navicat 历史版本下载

这里以 navicat premium 举例 进入官网 http://www.navicat.com.cn/选择 navicat permium 16点击免费试用点击直接下载&#xff0c;进入下载页面右键点击下载处【下图所示】修改链接&#xff0c;即可直接下载指定版本 点击免费试用 点击直接下载 进入下载页面会自动下载一次&a…

deepin安装navicat12 premium (破解版)替换商店的11版

参考&#xff1a;http://www.pianshen.com/article/8781183806/ 一、首先下载破解版的navicat 链接&#xff1a;https://pan.baidu.com/s/1ulptSderoG0EbEQpO3Adww 提取码&#xff1a;8oc3 二、解压 下载压缩文件&#xff0c;双击压缩文件&#xff0c;拖出文件即可 三、运…