《Python Cookbook 3rd》笔记(5.17):将字节写入文本文件
将字节写入文本文件
问题
你想在文本模式打开的文件中写入原始的字节数据。
解法
将字节数据直接写入文件的缓冲区即可,例如:
>>> import sys
>>> sys.stdout.write(b'Hello\n')
Traceback (most recent call last):File "<stdin>", line 1, in <module>
TypeError: must be str, not bytes
>>> sys.stdout.buffer.write(b'Hello\n')
Hello
5
>>>
类似的,能够通过读取文本文件的 buffer 属性来读取二进制数据。
讨论
I/O 系统以层级结构的形式构建而成。文本文件是通过在一个拥有缓冲的二进制模式文件上增加一个 Unicode 编码/解码层来创建。 buffer 属性指向对应的底层文件。如果你直接访问它的话就会绕过文本编码/解码层。
本小节例子展示的 sys.stdout 可能看起来有点特殊。默认情况下, sys.stdout 总是以文本模式打开的。但是如果你在写一个需要打印二进制数据到标准输出的脚本的话,你可以使用上面演示的技术来绕过文本编码层。
《Python Cookbook 3rd》笔记(5.17):将字节写入文本文件相关推荐
- 《Python Cookbook 3rd》笔记汇总
文章目录 一.数据结构 二.字符串和文本 三.数字.日期和时间 四.迭代器与生成器 五.文件与IO 一.数据结构 标题 关键词 1.1:拆分序列后赋值给多个变量 可迭代对象.拆分赋值 1.2:拆分任意 ...
- 《Python Cookbook 3rd》笔记(1.4):查找最大或最小的N个元素
<Python Cookbook 3rd>1.4:查找最大或最小的N个元素 问题 怎样从一个集合中获得最大或者最小的N个元素列表? 解法 heapq 模块有两个函数:nlargest()和 ...
- 《Python cookbook》笔记二
<Python cookbook>笔记二 第二章 字符串和文本 -使用多个界定符分割字符串- 你需要将一个字符串分割为多个字段,但是分隔符 (还有周围的空格) 并不是固定 的. # str ...
- Machine Learning with Python Cookbook 学习笔记 第6章
Chapter 6. Handling Text 本笔记是针对人工智能典型算法的课程中Machine Learning with Python Cookbook的学习笔记 学习的实战代码都放在代码压缩 ...
- Python Cookbook 3rd Edition Documentation
Python Cookbook 3rd Edition Documentation 文章目录 第一章:数据结构和算法 1.1 解压序列赋值给多个变量 问题 解决方案 讨论 1.2 解压可迭代对象赋值给 ...
- Machine Learning with Python Cookbook 学习笔记 第8章
Chapter 8. Handling Images 前言 本笔记是针对人工智能典型算法的课程中Machine Learning with Python Cookbook的学习笔记 学习的实战代码都放 ...
- Machine Learning with Python Cookbook 学习笔记 第9章
Chapter 9. Dimensionality Reduction Using Feature Extraction 前言 本笔记是针对人工智能典型算法的课程中Machine Learning w ...
- 《Python cookbook》笔记一
<Python cookbook> 第一章 数据结构和算法 - *号解压多个变量 - 如果一个可迭代对象的元素个数超过变量个数时,会抛出一个 ValueError .那么 怎样才能从这个可 ...
- python写文件byte_python 将字节写入文本文件
想在文本模式打开的文件中写入原始的字节数据 将字节数据直接写入文件的缓冲区即可 >>> import sys >>> sys.stdout.write(b'Hell ...
最新文章
- 抓取apache2的进程pid
- Spring的国际化(转载)
- tshark 和 tcpdump 的区别
- 信息系统开发平台OpenExpressApp -如何部署OEA应用
- ubuntu下oracle数据的导入,Ubuntu下Oracle10g的导入与导出
- 云智慧悄然“变身”业务运维,到底发生了什么?
- mysql 数据库后缀名,mysql 数据库文件扩展名
- SmartUpload问题
- 腾讯文件和微云服务器,网盘Web客户端对比:腾讯微云支持32GB单文件上传
- leetcode:买卖股票最佳时机含手续费
- 查看服务器支持的内存条,PowerEdge 服务器支持的内存配置指南
- RFID之M1卡数据分析
- dhcp服务器可以连接无线网吗,无线网dhcp服务器设置
- Oracle数据库逻辑备份与恢复(3)——数据泵(expdp、impdp)
- 操作系统——虚拟内存技术
- 第二阶段--团队冲刺--第八天
- SpringBoot单元测试NullPointerException
- 如何申请电子邮箱?电子邮箱怎么写?邮件可以撤回吗?
- 欧盟砍伐森林法规和遵守情况 用Dimitra技术解决森林砍伐问题
- FusionInsight,一个融合的大数据平台
热门文章
- CAN总线技术在船舶监控系统的应用
- java ranger rest_使用REST
- sql 删除数据_从零开始学SQL:是什么、如何安装、基本语法、表格(创建、删除、更新)、数据(插入、删除、更新)...
- uniapp开发实例github_跨端开发痛点?送你一款Vue最流行的跨端框架——uni-app
- Java学习笔记—TCP通信
- profile 安卓work_androidWorkProfileGeneralDeviceConfiguration 资源类型
- 【转】make makefile cmake qmake都是什么,有什么区别?
- 【转】.net框架读书笔记---CLR内存管理\垃圾收集(七)
- 【转】Dynamics 365中配置和使用文件夹级别的跟踪(folder-level tracking)
- 【转】Microsoft Cloud全新认证体系介绍