二进制文件|学习笔记

简介: 快速学习 二进制文件

开发者学堂课程【Python 语言基础 3:函数、面向对象、异常处理二进制文件】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/601/detail/8772


二进制文件


内容介绍:

一、引入

二、读取模式

三、写出读取内容

 

 

一、引入

现在要读取桌面上一个文件:

输入:

file_name = 'c : /Users/lilichao/Desktop/告白气球.flac '

with open(file_name , 'r ') as file_obj:

print(file_obj.read( ) )

结果如下:会报错,无法读

 

注意:

要读的 flac 是一个音乐文件,默认读取文件时,是当作文本文件读,而不是文本文件的文件统称为二进制文件

 

二、读取模式

t 读取文本文件(默认值)

with open(file_name , 'r ') as file_obj 只写 r 和 rt 是一样的

with open(file_name , 'rt') as file_obj

读取文本文件时, size 是以字符为单位的

 

b 读取二进制文件

with open(file_name , 'rb ') as file_obj

读取二进制文件时,size 是以字节为单位

该文件过大,不宜一次性读取,需要分段读

输入:print(file_obj.read(100) )

 

三、写出读取内容

定义一个新的文件

new_name = 'aa.flac'

with open(new_name , 'wb ') as new_obj:

#定义每次读取的大小

 

chunk = 1024*100

while True: #从已有的对象中读取数据

content = file_obj.read( chunk )

#内容读取完毕,终止循环

if not content :

break

#将读取到的数据写入到新对象中

 new_obj.write(content)

执行看到多出一个文件

点开后可以播放。

相关文章
|
测试技术 Python
Appium自动化框架从0到1之 执行测试用例& 生成测试报告&发送邮件
Appium自动化框架从0到1之 执行测试用例& 生成测试报告&发送邮件
285 1
|
缓存 JavaScript
Vue computed详解
computed是Vue中一个计算属性,它可以根据依赖的数据动态计算出一个新的值,并将其缓存起来。computed属性是基于它们的依赖进行缓存的,只有当依赖发生变化时,才会重新计算。 computed属性具有以下特性: • 缓存:computed属性会缓存计算结果,在依赖不变时直接返回缓存值,提高性能。 • 响应式:当依赖发生变化时,computed属性会自动重新计算并更新。 • 依赖追踪:Vue会自动追踪computed属性所依赖的数据,并在其发生变化时触发重新计算。
362 0
|
缓存 Java 开发工具
【开发工具】Gradle的安装 与 配置环境变量
【开发工具】Gradle的安装 与 配置环境变量
512 0
|
存储 关系型数据库 MySQL
深入解析 MySQL 中的扩展
【8月更文挑战第31天】
244 0
|
9月前
|
设计模式 监控 Java
分布式系统架构4:容错设计模式
这是小卷对分布式系统架构学习的第4篇文章,重点介绍了三种常见的容错设计模式:断路器模式、舱壁隔离模式和重试模式。断路器模式防止服务故障蔓延,舱壁隔离模式通过资源隔离避免全局影响,重试模式提升短期故障下的调用成功率。文章还对比了这些模式的优缺点及适用场景,并解释了服务熔断与服务降级的区别。尽管技术文章阅读量不高,但小卷坚持每日更新以促进个人成长。
200 12
|
JavaScript 小程序 Java
交通管理|交通管理在线服务系统|基于Springboot的交通管理系统设计与实现(源码+数据库+文档)
交通管理|交通管理在线服务系统|基于Springboot的交通管理系统设计与实现(源码+数据库+文档)
180 0
|
中间件 数据挖掘 API
ERP系统的系统集成与接口管理:实现高效协同
【7月更文挑战第29天】 ERP系统的系统集成与接口管理:实现高效协同
1038 0
|
关系型数据库 MySQL Linux
mysql 主从同步 实现增量备份
【8月更文挑战第28天】mysql 主从同步 实现增量备份
198 3
|
存储 Java API
【网安AIGC专题11.7】17ASAP如何更好地改进少样本提示:在LLMs的prompt中添加语义信息,来提高代码摘要生成+代码补全任务的性能。CodeSearchNet数据集(下)
【网安AIGC专题11.7】17ASAP如何更好地改进少样本提示:在LLMs的prompt中添加语义信息,来提高代码摘要生成+代码补全任务的性能。CodeSearchNet数据集(下)
381 0
|
Linux Android开发 开发者
【Linux】yum的认识与简单配置
【Linux】yum的认识与简单配置
242 0