文件操作(上)

105 阅读4分钟
7.
⽂件操作
⽂件操作介绍
⽂件的打开与关闭
⽂件的读写
应⽤
1:
制作⽂件的备份
⽂件的定位读写
⽂件、⽂件夹的相关操作
应⽤
2:
批量修改⽂件名
综合应⽤
:
学⽣管理系统
(
⽂件版
)
⽂件操作介绍
<1>
什么是⽂件
示例如下:

<2>
⽂件的作⽤
⼤家应该听说过⼀句话:
“好记性不如烂笔头”。
不仅⼈的⼤脑会遗忘事情,计算机也会如此,⽐如⼀个程序在运⾏过程中⽤了九⽜⼆⻁之⼒终于计算出了结果,试想⼀下如果不把这些数据存放起来,相⽐重启电脑之后,
“哭都没地⽅哭了”
可⻅,在把数据存储起来有做么⼤的价值使⽤⽂件的⽬的:
就是把⼀些存储存放起来,可以让程序下⼀次执⾏的时候直接使⽤,⽽不必重新制作⼀份,省时省⼒
⽂件的打开与关闭
想⼀想:
如果想⽤
word
编写⼀份简历,应该有哪些流程呢?
1.
打开
word
软件,新建⼀个
word
⽂件
2.
写⼊个⼈简历信息
3.
保存⽂件
4.
关闭
word
软件
同样,在操作⽂件的整体过程与使⽤
word
编写⼀份简历的过程是很相似的
1.
打开⽂件,或者新建⽴⼀个⽂件
2.
/
写数据
3.
关闭⽂件
<1>
打开⽂件
python
,使⽤
open
函数,可以打开⼀个已经存在的⽂件,或者创建⼀个新⽂件
open(
⽂件名,访问模式
)
示例如下:
f = open('test.txt', 'w')
说明
:
访问模式
说明
r
以只读⽅式打开⽂件。⽂件的指针将会放在⽂件的开头。这是默认模式。
w
打开⼀个⽂件只⽤于写⼊。如果该⽂件已存在则将其覆盖。如果该⽂件不存在,创建新
⽂件。
a
打开⼀个⽂件⽤于追加。如果该⽂件已存在,⽂件指针将会放在⽂件的结尾。也就是
说,新的内容将会被写⼊到已有内容之后。如果该⽂件不存在,创建新⽂件进⾏写⼊。
rb
以⼆进制格式打开⼀个⽂件⽤于只读。⽂件指针将会放在⽂件的开头。这是默认模式。
wb
以⼆进制格式打开⼀个⽂件只⽤于写⼊。如果该⽂件已存在则将其覆盖。如果该⽂件不存在,创建新⽂件。
ab
以⼆进制格式打开⼀个⽂件⽤于追加。如果该⽂件已存在,⽂件指针将会放在⽂件的结尾。也就是说,新的内容将会被写⼊到已有内容之后。如果该⽂件不存在,创建新⽂件进⾏写⼊。
r+
打开⼀个⽂件⽤于读写。⽂件指针将会放在⽂件的开头。
w+
打开⼀个⽂件⽤于读写。如果该⽂件已存在则将其覆盖。如果该⽂件不存在,创建新⽂件。
a+
打开⼀个⽂件⽤于读写。如果该⽂件已存在,⽂件指针将会放在⽂件的结尾。⽂件打开时会是追加模式。如果该⽂件不存在,创建新⽂件⽤于读写。
rb+
以⼆进制格式打开⼀个⽂件⽤于读写。⽂件指针将会放在⽂件的开头。
wb+
以⼆进制格式打开⼀个⽂件⽤于读写。如果该⽂件已存在则将其覆盖。如果该⽂件不存在,创建新⽂件。
ab+
以⼆进制格式打开⼀个⽂件⽤于追加。如果该⽂件已存在,⽂件指针将会放在⽂件的结尾。如果该⽂件不存在,创建新⽂件⽤于读写。
<2>
关闭⽂件
close( )
示例如下:
#
新建⼀个⽂件,⽂件名为
:test.txt f = open('test.txt', 'w')
#
关闭这个⽂件
f.close()
⽂件的读写
<1>
写数据
(write)
使⽤
write()
可以完成向⽂件写⼊数据
demo:
f = open('test.txt', 'w')
f.write('hello world, i am here!')
f.close()
运⾏现象
:
注意:
如果⽂件不存在那么创建,如果存在那么就先清空,然后写⼊数据
<2>
读数据
(read)
使⽤
read(num)
可以从⽂件中读取数据,
num
表示要从⽂件中读取的数据的⻓度(单位是字节),如果没有传⼊
num
,那么就表示读取⽂件中所有的数据
demo:
f = open('test.txt', 'r')
content = f.read(5)
print(content)
print("-"*30)
content = f.read()
print(content)
f.close()
运⾏现象:



注意:
如果
open
是打开⼀个⽂件,那么可以不⽤谢打开的模式,即只写
open('test.txt')
如果使⽤读了多次,那么后⾯读取的数据是从上次读完后的位置开始的
<3>
读数据(
readlines
就像
read
没有参数时⼀样,
readlines
可以按照⾏的⽅式把整个⽂件中的内容进⾏⼀次性读取,并且返回的是⼀个列表,其中每⼀⾏的数据为⼀个元素
#coding=utf-8
f = open('test.txt', 'r') content = f.readlines() print(type(content))
i=1
for temp in content: print("%d:%s"%(i, temp)) i+=1
f.close()
运⾏现象:


<4>
读数据(
readline
#coding=utf-8
f = open('test.txt', 'r')
content = f.readline() print("1:%s"%content)
content = f.readline() print("2:%s"%content)
f.close()

更多免费技术资料可关注:annalin1203