控制文本读写格式
- t(默认的):文本模式
- 读写都是以字符串的为单位的
- 只能针对文本文件
- 必须加入encoding参数
- b:二进制模式
- 读写文件都是以bytes/二进制为单位
- 可以针对所有的文件
- 不可以加入encoding参数
- 前提:
- b / t模式都不能单独使用,必须与r / w / a之一结合使用。
(1)t模式
- t 模式:默认方式,我们指定的文件的打开模式就是r / w / a,默认的就是rt / wt / at。
# t模式
# r w a 默认的就是rt wt at
# with open('01.txt','rt',encoding='utf-8') as f:
# res=f.read()
# print(res)#syh
# print(type(res))#<class 'str'>
# with open('01.txt','wt',encoding='utf-8') as f:
# res='hello world'
# f.write(res)#写入的也必须为字符串类型
- 强调:t 模式只能用于操作文本文件,无论读写,都应该以字符串为单位,而存取硬盘本质都是二进制的形式,当指定 t 模式时,内部帮我们做了编码与解码。
(2)b模式
- b 模式读写都是二进制单位。
# b模式
#
# with open('01.txt','rb') as f:
# res=f.read()
# print(res)#b'hello world'
# print(type(res))#读出时为bytes类型
# with open('01.txt','wb') as f:
# res='苏毅航'
# res1=res.encode('utf-8')#将字符串转为bytes数据类型
# f.write(res1)#在b 模式下写入文件时,必须是bytes类型
- 强调:b模式对比t模式
- 在操作纯文本文件方面t模式帮我们省去了编码与解码的环节,b模式则需要手动编码与解码,所以此时t模式更为方便。
- 针对非文本文件(如图片、视频、音频等)只能使用b模式。
(3)练习
编写拷贝工具
#源文件路径为:D:\old boy\python\python28基础\day10\girl.jpg
#新文件路径为:D:\old boy\python\python28基础\day10\img\girl.jpg
#编写拷贝工具
#1.先写入源文件路径
old=input("源文件路径为:")
#2.再写入拷贝的新文件路径
new=input('新文件路径为:')
#3.先读取源文件的内容,再将源文件的内容写入新的文件中
with open(old,'rb')as read_f,open(new,'wb') as write_f:
write_f.write(read_f.read())
# 常见二进制格式文件后缀:
# .bin:通常用于存储计算机程序或数据的二进制文件,例如操作系统、应用软件和游戏等。
# .dmg:这是苹果公司Mac OS X操作系统中常用的磁盘映像文件格式,可以将多个文件打包成一个文件来方便传输和安装。
# .exe:这是Windows操作系统中的可执行文件扩展名,包含可直接运行的程序代码。
# .msi:这是Microsoft Windows中的一种安装包文件格式,包含了安装所需的全部文件和信息。
# .rar:这是一种常见的压缩文件格式,使用这种格式可以将多个文件压缩成一个较小的文件以节省空间。
# .zip:这是另一种常见的压缩文件格式,与.rar类似,也可以将多个文件压缩成一个较小的文件。
# 常见的图片文件后缀(二进制格式)
# * .jpg:这是最常用的照片文件格式,通常具有较高的图像质量。
# * .jpeg:这也是照片文件格式,通常比.jpg格式更小,但图像质量稍低。
# * .png:这是一种无损压缩的图像文件格式,通常用于创建透明背景的图像。
# * .gif:这是一种支持动画效果的图像文件格式,通常用于创建简单的动态图形。
# 常见的音频文件后缀(二进制格式)
# * .bmp:这是一种位图图像文件格式,通常用于打印或处理高质量图像。
# * .tiff:这是一种标签图像文件格式,通常用于专业级别的图像处理和输出。
# * .mp4:这是一种常用的视频文件格式,广泛用于互联网上的视频分享和流媒体服务。
# * .mov:这是Apple公司开发的一种视频文件格式,通常用于其产品中的视频编辑和播放功能。
# * .avi:这是一种早期的视频文件格式,被广泛用于电影制作和电视节目录制等领域。
标签:文件,二进制,res,读写,模式,文件格式
From: https://www.cnblogs.com/suyihang/p/17878077.html