Python文件管理浅析|Python主题月

本文正在参加「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相关的知识。

以上是本期内容,欢迎大佬们多多指教,下次见