python用字节处理文件实例讲解


Posted in Python onApril 13, 2021

1、可以在mode参数中添加'b'字符。所有适合文件对象的相同方法。然而,每种方法都希望并返回一个bytes对象。

>>> with open(`dog_breeds.txt`, 'rb') as reader:
>>>     print(reader.readline())
b'Pug\n'

2、当打开文件并单独阅读这些字节时,可以看到它确实是一个png文件:

>>> with open('jack_russell.png', 'rb') as byte_reader:
>>>     print(byte_reader.read(1))
>>>     print(byte_reader.read(3))
>>>     print(byte_reader.read(2))
>>>     print(byte_reader.read(1))
>>>     print(byte_reader.read(1))
b'\x89'
b'PNG'
b'\r\n'
b'\x1a'
b'\n'

知识点扩展:

读取文件的字节流数据,将其转换为十六进制数据

def read_file():
    with open('./flag.zip','rb') as file_byte:
        file_hex = file_byte.read().hex()
        print(file_hex)
        write_file(file_hex)

def write_file(file_hex):
    with open('new.txt','w') as new_file:
        new_file.write(file_hex)

if __name__ == '__main__':
    read_file()

读取文件的字节流数据,将其编码为base64并输出

import base64

def read_file():
    with open('./flag.zip','rb') as file_byte:
        file_base64 = base64.b64encode(file_byte.read())
        print(file_base64)

if __name__ == '__main__':
    read_file()

将十六进制文件转化为字节流文件写入

import struct

a = open("str.txt","r")#十六进制数据文件
lines = a.read()
res = [lines[i:i+2] for i in range(0,len(lines),2)]

with open("xxx.xxx","wb") as f:
	for i in res:
		s = struct.pack('B',int(i,16))
		f.write(s)

以上就是python用字节处理文件实例讲解的详细内容,更多关于python使用字节处理文件的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python的Flask框架中Flask-Admin库的简单入门指引
Apr 07 Python
Python减少循环层次和缩进的技巧分析
Mar 15 Python
python 排序算法总结及实例详解
Sep 28 Python
使用PyCharm创建Django项目及基本配置详解
Oct 24 Python
python爬虫超时的处理的实例
Dec 19 Python
Python3.5面向对象编程图文与实例详解
Apr 24 Python
python flask解析json数据不完整的解决方法
May 26 Python
用python3 返回鼠标位置的实现方法(带界面)
Jul 05 Python
python中使用paramiko模块并实现远程连接服务器执行上传下载功能
Feb 29 Python
python 爬虫请求模块requests详解
Dec 04 Python
Python实现简单的2048小游戏
Mar 01 Python
python小型的音频操作库mp3Play
Apr 24 Python
Python中相见恨晚的技巧
Apr 13 #Python
利用python做表格数据处理
python glom模块的使用简介
Apr 13 #Python
Python的flask接收前台的ajax的post数据和get数据的方法
Python使用sql语句对mysql数据库多条件模糊查询的思路详解
python实现简单反弹球游戏
python中Tkinter 窗口之输入框和文本框的实现
Apr 12 #Python
You might like
php中将图片gif,jpg或mysql longblob或blob字段值转换成16进制字符串
2011/08/23 PHP
浅析PHP递归函数返回值使用方法
2013/02/18 PHP
Yii 快速,安全,专业的PHP框架
2014/09/03 PHP
Yii 2.0如何使用页面缓存方法示例
2017/05/23 PHP
php类自动装载、链式操作、魔术方法实现代码
2017/07/23 PHP
php分享朋友圈的实现代码
2019/02/18 PHP
让jQuery与其他JavaScript库并存避免冲突的方法
2013/12/23 Javascript
Nodejs学习笔记之Global Objects全局对象
2015/01/13 NodeJs
AngularJS使用指令增强标准表单元素功能
2016/07/01 Javascript
JavaScript正则表达式的贪婪匹配和非贪婪匹配
2017/09/05 Javascript
vue router学习之动态路由和嵌套路由详解
2017/09/21 Javascript
实现一个完整的Node.js RESTful API的示例
2017/09/29 Javascript
vue如何判断dom的class
2018/04/26 Javascript
vue权限路由实现的方法示例总结
2018/07/29 Javascript
ES6 系列之 Generator 的自动执行的方法示例
2018/10/19 Javascript
如何进行微信公众号开发的本地调试的方法
2019/06/16 Javascript
layui表单提交到后台自动封装到实体类的方法
2019/09/12 Javascript
vue实现直播间点赞飘心效果的示例代码
2019/09/20 Javascript
Jquery如何使用animation动画效果改变背景色的代码
2020/07/20 jQuery
[00:43]TI7不朽珍藏III——幽鬼不朽展示
2017/07/15 DOTA
pyqt5简介及安装方法介绍
2018/01/31 Python
VSCode下配置python调试运行环境的方法
2018/04/06 Python
python docx 中文字体设置的操作方法
2018/05/08 Python
对python3中, print横向输出的方法详解
2019/01/28 Python
Python 实用技巧之利用Shell通配符做字符串匹配
2019/08/23 Python
Pandas 解决dataframe的一列进行向下顺移问题
2019/12/27 Python
解决tensorflow打印tensor有省略号的问题
2020/02/04 Python
JD Sports瑞典:英国领先的运动时尚商店
2018/01/28 全球购物
Expedia印度尼西亚站:预订酒店、廉价航班和度假套餐
2018/01/31 全球购物
Nordgreen美国官网:在线购买极简主义斯堪的纳维亚手表
2019/07/24 全球购物
介绍一下javax.servlet.Servlet接口及其主要方法
2015/11/30 面试题
高中校园广播稿
2014/01/11 职场文书
迟到检讨书1000字
2014/01/15 职场文书
语文教师求职信范文
2015/03/20 职场文书
材料采购员岗位职责
2015/04/03 职场文书
初中信息技术教学反思
2016/02/16 职场文书