文件操作(IO技术)

    一个完整的程序一般都包括数据的存储和读取,实际开发中,我们经常要从外部存储介质(硬盘,光盘,U盘等)读取数据,或者将程序产生的数据存储到文件中,实现持久化保存。

    很多软件系统是将数据存储到数据库中,数据库实际也是基于文件形式存储的。

文本文件和二进制文件

    按文件中数据存储形式,将文件分为文本文件和二进制文件两种

  1. 文本文件:文本文件存储的是普通的字符文本,默认问unicode字符集,可以使用记事本程序打开,但是,像word软件编辑的文档不属于文本文件
  2. 二进制文件:二进制文件把数据以字节形式存储,无法用记事本打开,必须使用专用的软件解码,常见的有:MP4,MP3,JPG,doc等

文件操作相关模块叙述

名称 说明
io模块 文件流的输入和输出操作
os模块 基本操作系统功能,包括文件操作
glob模块 查找符合特定的规则的文件路径名
fnmatch模块 使用模式来匹配文件路径
filecmp模块 用于文件的比较
csv模块 用于csv文件的处理
pickle和cPickle 用于序列化和反序列化
xml包 用于XML数据处理
fileinput模块 处理多个输入文件
bz2、gzip、zipfile、zlib、tarfile 用于处理压缩和解压缩文件(分别对应不同算法)

创建文件对象open()

open()函数用于创建文件对象,基本语法如下:

            open(文件名[,打开方式])

如果只是文件名,代表在当前目录下的文件,文件名可以录入全路径,例如:D:\a\b.txt, 为了减少\的输入可以使用原始字符串r"d:\b.txt",示例如下:

           f = open(r"d:\b.txt","w")

打开方式有如下几种:

模式 描述
r 读read模式
w 写 write模式,如果文件不存在,则重新创建,如果存在,则重新改写
a 追加append模式,如果文件不存在则创建,如果存在则追加新内容
b 二进制模式(可以与其他模式组合使用)
+ 读、写模式(可以与其他模式组合使用)

文本文件对象和二进制文件对象的创建:

    如果没有增加模式‘’b‘,则默认创建的是文本文件对象,处理的基本单元是字符。如果是二进制模式’b‘则创建的是二进制文件对象,处理基本单元是字节

文本文件的写入

基本文件的写入操作

  1. 创建文件对象
  2. 写入数据
  3. 关闭文件对象