本文正在参加「Python主题月」,详情查看 活动链接
1. 文件操作概述
假如RD直接扔给你一份excel,让你自己找需要的字段。满心打开文件看1K多行,头皮发麻,一天要测试这么多,想早点下班多我不允许啊。
我们既然都踏上学习Python的路上,今天我们就来学习文件操作的基础知识。
成熟完整的程序都包括数据的存储和读取,我们之前在前面学习的程序数据都没有进行实际的存储,因此Python解释器执行完成数据就消失了。
在日常的工作开发中,我们就像开头场景需要从外部存储介质(硬盘、光盘、U盘等)读取数据,或者将程序产生的数据存储到文件中,实现持久化保存。
很多软件系统是将数据存储的数据库中,数据库实际也是基于文件形式存储的。
2. 文件类型
按文件中数据组织形式,我们把文件分为文本文件和二进制文件两大类
-
文本文件
文本文件存储的普通“字符”文本,默认为unicode字符集,可以使用记事本程序打开,但是像word软件编辑的文档不是文本文件
-
二进制文件
二进制文件把数据内容用字节进行存储,无法用记事本打开,必须使用专用的软件解码,常见的有:mp4视频文件,mp3音频文件,JPG图片、excel文件等
3. 文件操作模块
名称 | 说明 |
---|---|
io模块 | 文件流的输入和输入操作input、output |
os模块 | 基本操作系统功能,包括文件操作 |
glob模块 | 查找符合特定规则的文件路径名 |
fnmatch模块 | 使用模式来匹配文件路径名 |
fileinput模块 | 处理多个输入文件 |
filecmp模块 | 用于文件的比较 |
cvs模块 | 用于csv文件处理 |
pickle和cPickle | 用于序列化和序列反序列化 |
xml包 | 用于XML数据处理 |
bz2、gzip、zipfile、zlib、tarfile | 用于处理压缩和解压缩文件(分别对应不同的算法) |
4. 文件操作步骤
1. 创建文件对象open()
open()函数用于创建文件对象,基本语法格式如下:
open(文件名[打开方式])
如果只是文件名,代表在当前目录下的文件。文件名可以录入全路径,比如:F:\JueJing.txt,为了减少“\”的输入,可以使用原始字符串: r"f:\JueJing.txt"
f = open(r"f:\JueJing.txt","a")
打开方式有如下几类:
模式 | 描述 |
---|---|
r | 读模式 |
w | 写write模式,如果文件不存在则创建;如果文件存在,则重写新内容 |
a | 追加append模式,如果文件不存在则创建,如果文件存在,则在文件末尾追加内容 |
b | 二进制 binary模式(可与其他模式组合使用) |
+ | 读、写模式(可与其他模式组合使用) |
文本文件对象和二进制对象的创建:
如果没有增加模式“b”,则默认创建的是文本文件对象,处理的单元是字符
如果是二进制模式“b”,则创建的是二进制文件对象,处理的单元是字节
2. 文本文件的写入
文本文件写入的步骤主要有以下步骤 (1) 创建文件对象
(2) 写入数据
(3) 关闭文件,释放系统资源否则OS一直链接文件状态
f = open("JueJing.txt","a")
s = "JueJing Python"
f.write(s)
f.close()
print("write end")
JueJing.txt文件被写入“JueJing Python”
3. 文本文件的读取
(1)打开文件
(2)读取文件
(3)关闭文件
我们刚刚写入数据到JueJing.txt文件,那我们来读取一下数据吧
f = open("JueJing.txt","r")
r = f.readline()
print("JueJing.txt文件内容为:",r)
f.close()
总结
今天,我们认识和学习了文本文件简单的写入读取,后面我们会深入继续学习文件IO相关的知识。
以上是本期内容,欢迎大佬们多多指教,下次见