对照下图,新建文件夹和txt文件
在电脑D盘
新建1个文件夹,命名为安迪
。
在安迪
文件夹里新建2个文件夹,分别命名为工作
,生活
。
在安迪
文件夹里新建1个txt文件,命名为笔记.txt
,在笔记.txt
文件中写入“这是我的第300篇笔记”。
在安迪
文件夹里新建1个txt文件,命名为new.txt
,在new.txt
文件中写入“路径里含有转义字符,程序会报错!”。
在工作
文件夹里新建1个txt文件,命名为目标.txt
,在目标.txt
文件中写入“2023年的目标是新增1万个关注者!”。
在生活
文件夹里新建1个txt文件,命名为旅游.txt
,在旅游.txt
文件中写入“我想去西藏!”。
在生活
文件夹里新建1个年度预算
文件夹,在年度预算
文件夹里新建一个旅游经费.txt
文件,在旅游经费.txt
文件中写入“旅游经费2万元。”。
在生活
文件夹里新建1个路径.py
文件。
【备注】
新建一个txt文件,将文件名改成路径.py
也能新建一个py文件。
在Python中,路径是指文件所存储位置。
通常有绝对路径和相对路径2种2表述方法。
绝对路径是指文件在硬盘上真正存在的路径。
就是从盘符(C盘、D盘、E盘、F盘)开始一直到文件所在的具体位置。
绝对路径是以磁盘名称开头,如 C:
或者 D:
,具体的文件或文件夹名称做结尾。
绝对路径是唯一的,只有一个。
方法1:复制文件地址
【目标任务】
查看笔记.txt
文件的绝对路径。
点击文件笔记.txt
;
然后按住【shift】;
点击鼠标右键;
最后点击【复制文件地址】。
得到的文件地址如下:
"D:\安迪\笔记.txt"
"D:\安迪\笔记.txt"
就是笔记.txt
文件在硬盘上真正存在的路径。
"D:\安迪\笔记.txt"
以盘符D:\
开头,以笔记.txt结尾,我们称为绝对路径。
方法2:直接点击文件上方的搜索栏
【目标任务】
查看旅游经费.txt
文件的绝对路径。
找到旅游经费.txt
文件;
点击文件上方的搜索框;
D:\安迪\生活\年度预算
旅游经费.txt
;D:\安迪\生活\年度预算\旅游经费.txt
得到的即为文件的绝对路径。
通过比对,大家应该能发现复制文件地址
的方法更为便捷。
并且复制文件地址
的方法得到的地址自带引号,我们后面编写代码可以直接使用。
查看我们准备工作中新建的所有txt文件的绝对路径,并赋值给变量。
file_1 = "D:\安迪\工作\目标.txt"
file_2 = "D:\安迪\生活\年度预算\旅游经费.txt"
file_3 = "D:\安迪\生活\旅游.txt"
file_4 = "D:\安迪\笔记.txt"
file_5 = "D:\安迪\new.txt"
【目标任务】
用绝对路径读取目标.txt
文件内容。
首先打开路径.py
文件;
在路径.py
文件中原样输入下面的代码;
file_1 = "D:\安迪\工作\目标.txt"
txt = open (file_1, encoding='utf-8')
print(txt.read())
【终端输出】
2023年的目标是新增1万个关注者!
【代码解析】
file_1 = "D:\安迪\工作\目标.txt"
file_1
存储的是目标.txt
的绝对路径。
txt = open (file_1, encoding='utf-8')
txt是变量名;
open
是Python的一个内置函数,作用是打开文件;
这里的open
函数里面有2个参数;
第1参数file_1是文件的绝对路径:“D:\安迪\工作\目标.txt”;
第2参数是文件编码格式:encoding=‘utf-8’。
print(txt.read())
read
也是Python的一个内置函数,作用是读取打开文件中的数据。
【备注】
open、read函数,文件编码格式后面会有详细的讲解。
这里主要讲解路径,大家只需修改变量file_1
就能实现打开读取文件的功能。
【课堂练习:读取所有txt文件内容】
旅游经费.txt
:file_2 = "D:\安迪\生活\年度预算\旅游经费.txt"
txt = open (file_2, encoding='utf-8')
print(txt.read())
【终端输出】
旅游经费2万元。
旅游.txt
:file_3 = "D:\安迪\生活\旅游.txt"
txt = open (file_3, encoding='utf-8')
print(txt.read())
【终端输出】
我想去西藏!
笔记.txt
:file_4 = "D:\安迪\笔记.txt"
txt = open (file_4, encoding='utf-8')
print(txt.read())
【终端输出】
这是我的第300篇笔记!
new.txt
:file_5 = "D:\安迪\new.txt"
txt = open (file_5, encoding='utf-8')
print(txt.read())
【终端输出】
OSError: [Errno 22] Invalid argument: 'D:\\安迪\new.txt'
同样的方法读取new.txt
程序报错。
Invalid argument: 'D:\\安迪\new.txt'
:无效参数:“D:\安迪\new.txt '。
读取new.txt
文件程序报错,是因为文件路径中含有转义字符\n
。
红色框中的\n
就是转义字符。
\
改写绝对路径【备注】上图来源于风变编程。
一个\
反斜杆加上一个特殊的英文字母、字符就是Python中的转义字符。
转义字符语法:\
+字母\字符。
file_5 = "D:\安迪\new.txt"
当要读取的文件路径如上所示时,程序会将\n
理解成程序员要表达的是转义字符\n
。
因此,当表示文件的路径中含有转义字符时,程序会报错。
这时我们需要修改文件的路径,即在转义字符\n
前再加一个\
反斜杠,程序就不会报错。
在Python中,转义字符\\
两个反斜杆就表示一个反斜杠\
字符。
file_5 = "D:\安迪\\new.txt"
txt = open (file_5, encoding='utf-8')
print(txt.read())
【终端输出】
路径里含有转义字符,程序会报错!
【备注】编程中,很多同学不会去找哪个是转义字符,会直接在复制的地址中,在路径中的每个反斜杆前面都增加一个反斜杆\
,就能避免转义字符问题。
file_1 = "D:\\安迪\\工作\\目标.txt"
file_2 = "D:\\安迪\\生活\\年度预算\\旅游经费.txt"
file_3 = "D:\\安迪\\生活\\旅游.txt"
file_4 = "D:\\安迪\\笔记.txt"
file_5 = "D:\\安迪\\new.txt"
txt1 = open (file_1, encoding='utf-8')
txt2 = open (file_2, encoding='utf-8')
txt3 = open (file_3, encoding='utf-8')
txt4 = open (file_4, encoding='utf-8')
txt5 = open (file_5, encoding='utf-8')
print(txt1.read())
print(txt2.read())
print(txt3.read())
print(txt4.read())
print(txt5.read())
【终端输出】
2023年的目标是新增1万个关注者!
旅游经费2万元。
我想去西藏!
这是我的第300篇笔记!
路径里含有转义字符,程序会报错!
下一篇:【C++】类和对象(中)