⽂件操作 ⽂件操作介绍 ⽂件的打开与关闭 ⽂件的读写 应⽤1:制作⽂件的备份 ⽂件的定位读写 ⽂件、⽂件夹的相关操作 应⽤2:批量修改⽂件名 综合应⽤:学⽣管理系统(⽂件版)
⽂件操作介绍 <1>什么是⽂件 示例如下:
<2>⽂件的作⽤ ⼤家应该听说过⼀句话:“好记性不如烂笔头”。 不仅⼈的⼤脑会遗忘事情,计算机也会如此,⽐如⼀个程序在运⾏过程中⽤了九⽜⼆⻁之⼒终于计算出了结果,试想⼀下如果不把这些数据存放起来,相⽐重启电脑之后,“哭都没地⽅哭了” 可⻅,在把数据存储起来有做么⼤的价值使⽤⽂件的⽬的: 就是把⼀些存储存放起来,可以让程序下⼀次执⾏的时候直接使⽤,⽽不必重新制作⼀份,省时省⼒
⽂件的打开与关闭 想⼀想: 如果想⽤word编写⼀份简历,应该有哪些流程呢? 1. 打开word软件,新建⼀个word⽂件 2. 写⼊个⼈简历信息 3. 保存⽂件 4. 关闭word软件 同样,在操作⽂件的整体过程与使⽤word编写⼀份简历的过程是很相似的 1. 打开⽂件,或者新建⽴⼀个⽂件 2. 读/写数据 3. 关闭⽂件 <1>打开⽂件 在python,使⽤open函数,可以打开⼀个已经存在的⽂件,或者创建⼀个新⽂件 open(⽂件名,访问模式) 示例如下:
|
| file:////Users/wendy/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image001.png |
说明: 访问模式 说明 r 以只读⽅式打开⽂件。⽂件的指针将会放在⽂件的开头。这是默认模式。 w 打开⼀个⽂件只⽤于写⼊。如果该⽂件已存在则将其覆盖。如果该⽂件不存在,创建新 ⽂件。 a 打开⼀个⽂件⽤于追加。如果该⽂件已存在,⽂件指针将会放在⽂件的结尾。也就是 说,新的内容将会被写⼊到已有内容之后。如果该⽂件不存在,创建新⽂件进⾏写⼊。 rb 以⼆进制格式打开⼀个⽂件⽤于只读。⽂件指针将会放在⽂件的开头。这是默认模式。 wb 以⼆进制格式打开⼀个⽂件只⽤于写⼊。如果该⽂件已存在则将其覆盖。如果该⽂件不存在,创建新⽂件。 ab 以⼆进制格式打开⼀个⽂件⽤于追加。如果该⽂件已存在,⽂件指针将会放在⽂件的结尾。也就是说,新的内容将会被写⼊到已有内容之后。如果该⽂件不存在,创建新⽂件进⾏写⼊。 说明: 访问模式 说明 r 以只读⽅式打开⽂件。⽂件的指针将会放在⽂件的开头。这是默认模式。 w 打开⼀个⽂件只⽤于写⼊。如果该⽂件已存在则将其覆盖。如果该⽂件不存在,创建新 ⽂件。 a 打开⼀个⽂件⽤于追加。如果该⽂件已存在,⽂件指针将会放在⽂件的结尾。也就是 说,新的内容将会被写⼊到已有内容之后。如果该⽂件不存在,创建新⽂件进⾏写⼊。 rb 以⼆进制格式打开⼀个⽂件⽤于只读。⽂件指针将会放在⽂件的开头。这是默认模式。 wb 以⼆进制格式打开⼀个⽂件只⽤于写⼊。如果该⽂件已存在则将其覆盖。如果该⽂件不存在,创建新⽂件。 ab 以⼆进制格式打开⼀个⽂件⽤于追加。如果该⽂件已存在,⽂件指针将会放在⽂件的结尾。也就是说,新的内容将会被写⼊到已有内容之后。如果该⽂件不存在,创建新⽂件进⾏写⼊。
说明: 访问模式 说明 r 以只读⽅式打开⽂件。⽂件的指针将会放在⽂件的开头。这是默认模式。 w 打开⼀个⽂件只⽤于写⼊。如果该⽂件已存在则将其覆盖。如果该⽂件不存在,创建新 ⽂件。 a 打开⼀个⽂件⽤于追加。如果该⽂件已存在,⽂件指针将会放在⽂件的结尾。也就是 说,新的内容将会被写⼊到已有内容之后。如果该⽂件不存在,创建新⽂件进⾏写⼊。 rb 以⼆进制格式打开⼀个⽂件⽤于只读。⽂件指针将会放在⽂件的开头。这是默认模式。 wb 以⼆进制格式打开⼀个⽂件只⽤于写⼊。如果该⽂件已存在则将其覆盖。如果该⽂件不存在,创建新⽂件。 ab 以⼆进制格式打开⼀个⽂件⽤于追加。如果该⽂件已存在,⽂件指针将会放在⽂件的结尾。也就是说,新的内容将会被写⼊到已有内容之后。如果该⽂件不存在,创建新⽂件进⾏写⼊。 r+ 打开⼀个⽂件⽤于读写。⽂件指针将会放在⽂件的开头。 w+ 打开⼀个⽂件⽤于读写。如果该⽂件已存在则将其覆盖。如果该⽂件不存在,创建新⽂件。 a+ 打开⼀个⽂件⽤于读写。如果该⽂件已存在,⽂件指针将会放在⽂件的结尾。⽂件打开时会是追加模式。如果该⽂件不存在,创建新⽂件⽤于读写。 rb+ 以⼆进制格式打开⼀个⽂件⽤于读写。⽂件指针将会放在⽂件的开头。 wb+ 以⼆进制格式打开⼀个⽂件⽤于读写。如果该⽂件已存在则将其覆盖。如果该⽂件不存在,创建新⽂件。 ab+ 以⼆进制格式打开⼀个⽂件⽤于追加。如果该⽂件已存在,⽂件指针将会放在⽂件的结尾。如果该⽂件不存在,创建新⽂件⽤于读写。
# 新建⼀个⽂件,⽂件名为:test.txt f = open('test.txt', 'w') # 关闭这个⽂件 f.close()
⽂件的读写 <1>写数据(write) 使⽤write()可以完成向⽂件写⼊数据 demo:
|
| file:////Users/wendy/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image001.jpg |
运⾏现象:
@font-face { font-family: "Cambria Math";}@font-face { font-family: DengXian;}@font-face { font-family: "PingFang SC";}@font-face { font-family: "@等线";}@font-face { font-family: "@PingFang SC";}p.MsoNormal, li.MsoNormal, div.MsoNormal { margin: 0cm 0cm 0.0001pt; text-align: justify; font-size: 10.5pt; font-family: DengXian; }.MsoChpDefault { font-family: DengXian; }div.WordSection1 { }
注意: 如果⽂件不存在那么创建,如果存在那么就先清空,然后写⼊数据 <2>读数据(read) 使⽤read(num)可以从⽂件中读取数据,num表示要从⽂件中读取的数据的⻓度(单位是字节),如果没有传⼊num,那么就表示读取⽂件中所有的数据 demo: print(content)
print("-"*30) content = f.read()
print(content) f.close()
运⾏现象: 注意: 如果open是打开⼀个⽂件,那么可以不⽤谢打开的模式,即只写 open('test.txt') 如果使⽤读了多次,那么后⾯读取的数据是从上次读完后的位置开始的
|