首页 > 其他分享 >控制文件读写内容的模式

控制文件读写内容的模式

时间:2023-12-05 20:11:17浏览次数:36  
标签:文件 二进制 res 读写 模式 文件格式

控制文本读写格式

  • 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

相关文章

  • Macbook磁盘系统结构/文件/目录介绍分析
    1.系统磁盘根目录详解:1.1磁盘根目录结构/(根目录)|--Applications#存放应用程序|--Users#存放用户文件和设置|--cores#存放核心转储文件,通常用于调试|--home#用户家目录的根目录|--sbin......
  • 文件的操作方法
    文件的操作方法(1)读操作f.read()读取文件所有内容,执行玩该操作后,文件内的指针会移动到文件内容的末尾。f.readline()读取一行内容,光标会移动到第二行首部f.readlines()读取每一行的内容,存入列表中。#读操作#withopen('02.txt','rt',encoding='utf-8')asf:......
  • 文件处理和操作
    文件操作文件操作三种方式write)模式:write覆盖写模式,如果你文件中有内容,直接覆盖掉写进去新的内容a(append)模式:write追加写模式,如果你文件中有内容,再原有内容的基础上追加内容withopen('01.txt','a',encording='utf8')asf:fp.write('mynameistony'+......
  • 主动控制文件内指针移动
    主动控制文件内指针移动文件内指针的移动时以Bytes为单位的,但是在t模式下时read(n),n以字符美单位的。#文件内指针的移动时以Bytes为单位的,但是在t模式下时read(n),n以字符美单位的withopen('02.txt','rt',encoding='utf-8')asf:res=f.read(3)#hel读取三个字符......
  • 控制文本读写内容的模式
    控制文本读写格式t(默认的):文本模式读写都是以字符串的为单位的只能针对文本文件必须加入encoding参数b:二进制模式读写文件都是以bytes/二进制为单位可以针对所有的文件不可以加入encoding参数前提:b/t模式都不能单独使用,必须与r/w/a之一结合使用。(1)t模......
  • 文件操作系统
    【一】文件操作基本流程#1.打开文件,由应用程序向操作系统发起系统调用open(...),操作系统打开该文件,对应一块硬盘空间,并返回一个文件对象赋值给一个变量ff=open('a.txt','r',encoding='utf-8')#默认打开模式就为r#2.调用文件对象下的读/写方法,会被操作系统转换为读/写硬盘......
  • [EFI]Atermiter X99 Turbo D4 E5-2630v3电脑 Hackintosh 黑苹果efi引导文件
    硬件型号驱动情况主板AtermiterX99TurboD4处理器IntelXeonE5-2630v3已驱动内存DesktopDDR42666MHz已驱动硬盘NetacNV7000已驱动显卡AMDRadeonRX5700xt已驱动声卡瑞昱@英特尔HighDefinitionAudio控制器ALC897已驱动网卡LucyRTL8125已驱动无线网卡+蓝牙BroadcomBC......
  • Linux-01常用文件管理命令
    文件系统文件系统结构tip:[start]仅举例常见内容tip:[end]/根目录bin可执行文件命令(ls,...)etc配置文件(nginx代理服务器配置文件,...)var日志log文件lib存头文件/安装包home用户的家目录(/home/acs,...)proc进程信息文件(cpuinfo系统资源,...)路径......
  • Linux文件管理
    通过pwd命令查看当前工作目录的绝对路径通过cd命令切换目录 mkdir命令创建一个空白目录,通过ls命令查看目录和文件 通过touch创建一个空白文件,使用echo向空白文件内写入内容,使用cat查看文件内容 使用rm命令删除文件,使用rmdir命令删除空白文件夹 ......
  • 基于SpringBoot实现文件的上传下载
    (一)概述文件上传下载一直都是一个系统最常用也是最基本的功能点,刚好最近公司的项目上有用到这个功能,于是自己就用SpringBoot也写了一个简化的版本,已实现文件的上传和下载功能。(二)创建项目首先创建一个SpringBoot的项目,接着引入相关的依赖,因为涉及到数据库的操作,所以依赖会比较......