20201211_126_file文件操作_操作系统底层关系_写入文件

第八章 文件操作(IO 技术)

一个完整的程序一般都包括数据的存储和读取;我们在前面写的程序数据都没有进行实际的存储,因此 python 解释器执行完数据就消失了。实际开发中,我们经常需要从外部存储介质(硬盘、光盘、U 盘等)读取数据,或者将程序产生的数据存储到文件中,实现“持久化”保存。

有基础的同学知道,很多软件系统是将数据存储的数据库中;数据库实际也是基于文件形式存储的,本章我们就学习文件的相关操作。

文本文件和二进制文件

按文件中数据组织形式,我们把文件分为文本文件和二进制文件两大类。

  1. 文本文件
    文本文件存储的是普通“字符”文本,python 默认为 unicode 字符集(两个字节表示一个字符,最多可以表示:65536 个),可以使用记事本程序打开。但是,像 word 软件编辑的文档不是文本文件。
  2. 二进制文件
    二进制文件把数据内容用“字节”进行存储,无法用记事本打开。必须使用专用的软件解码。常见的有:MP4 视频文件、MP3 音频文件、JPG 图片、doc 文档等等。

文件操作相关模块概述

Python 标准库中,如下是文件操作相关的模块,会陆续介绍。

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

创建文件对象 open()

Python中一切都是对象,要对文本文件进行读写操作,首先会在Python中创建一个代表文本本件的对象,这对象映射外部的文本文件。Python对文本文件对象的操作会被IO流同步到文本文件中。

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

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

如果只是文件名,代表在当前目录下的文件。文件名可以录入全路径,比如:D:\a\b.txt。

为了避免解释器将路径的部分“+”误认为转义字符,可以在路径字符串前加r告诉解释器对r后跟的这个字符串不识别转义字符。示例:

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

打开方式有如下几种:

模式描述
rread,只读模式
wwrite,写模式。如果文件不存在则创建文件写入;如果文件已存在则重写新内容覆盖原内容。
aappend,追加模式。如果文件不存在则创建文件写入;如果文件已存在则在文件原内容的末尾另起一行继续写入。
bbinary,二进制模式(可与其他模式组合使用)
+读写模式(可与其他模式组合使用)

文本文件对象和二进制文件对象的创建:
如果我们没有增加模式“b”,则默认创建的是文本文件对象,处理的基本单元是“字符”。
如果是二进制模式“b”,则创建的是二进制文件对象,处理的基本单元是“字节”。例如:

f = open(r"d:\b.xls","wb")

文本文件的写入

基本的文件写入操作

文本文件的写入一般就是三个步骤:

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

为什么要关闭文件对象?
Python是通过解释器调用操作系统的资源对系统中的文件进行操作,关闭文件对象是为了同时释放掉对文件进行操作占用的系统资源。

我们创建一个小程序,体验一下文本文件的写入操作:
【例】文本写入操作简单测试

f = open(r'a.txt','a')
s = '好好学习\n天天向上'
f.write(s)
f.close()

运行结果:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值