目录
概念
一个完整的程序一般都包括数据的存储和读取,我们在练习时所写的程序数据都没有进行实际存储,因此,Python解释器执行完数据就消失了,实际开发中,我们经常需要从外部存储介质(硬盘,光盘,U盘、数据库中等等)读取数据,或者将程序产生的数据存储到文件中,实现“持久化”保存。
很多软件系统是将数据存储到数据库中,数据库实际也是基于文件形式存储的。
文件分为两类(文本文件和二进制文件)
按文件中数据组织形式,可以把文件分为文本文件和二进制文件两大类。
- 文本文件
文本文件存储的是普通“字符”文本,默认为unicode字符集(两个字节表示一个字符,最多可以表示:65536个字符),可以使用记事本程序打开,但是,像word软件编辑的文档不是文本文件
- 二进制文件
二进制文件把数据内容用“字节”进行存储,无法用记事本打开,必须使用专用的软件解码,常见的有:MP4视频文件、MP3音频文件、JPG文件doc文档等等。
文件操作相关模块概述
Python标准库中,如下是文件操作相关的模块,下面陆续给大家介绍
名称 | 说明 |
io模块 | 文件流的输入和输出操作 |
os模块 | 基本操作系统功能,包括文件操作 |
glob模块 | 查找符合特定规则的文件路径名 |
fnmatch模块 | 使用模式来匹配文件路径名 |
fileinput模块 | 用于多个输入文件 |
filecmp模块 | 用于文件的比较 |
cvs模块 | 用于cvs文件处理 |
pickle和cpickle | 用于序列化和反序列化 |
xml包 | 用于xml数据处理 |
bz2、gzip、zipfile、zlib、tarfile | 用于处理压缩和解压缩文件(分别对应不同的算法) |
创建文件对象open()
open()函数用于创建文件对象,基本语法格式如下:
open(文件名[,打开方式])
如果只是文件名,代表在当前目录下的文件。文件名可以录入全路径,比如:D:\a\a.txt,为了减少“\”,可以使用原始字符串:r“D:\a\a.txt”,示例如下:
f=open(r"D:\a\a.txt","a")
打开文件的方式如下几种
模式 | 描述 |
r | 读(read)写模式 |
w | 写(write)模式,如果文件不存在则创建,如果文件存在,则重写写新内容 |
a | 追加(append)模式,如果文件不存在则创建,如果文件存在,则在文件末尾追加内容 |
b | 二进制(binary)模式,(可与其他模式组合使用) |
+ | 读、写模式(可与其他模式组合使用) |
文本文件对象和二进制对象的创建
如果我们没有增加模式“b”,则默认创建的是文本文件对象,处理的基本单元是“字符”,如果是二进制模式:“b”,则创建的是二进制文件对象,处理的基本单元是“字节”。
文件的写入
基本的文件写入操作
文本文件的写入一般就是三个步骤:
1.创建文件对象
2.写入数据
3.关闭文件对象 (如果不关闭,造成资源浪费)
【例子】
f=opne('a.txt','a')
s='hello world'
f.write(s)
f.close()