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 Web框架Flask中使用百度云存储BCS实例
Feb 08 Python
python实现简单爬虫功能的示例
Oct 24 Python
Django中的CBV和FBV示例介绍
Feb 25 Python
python对视频画框标记后保存的方法
Dec 07 Python
Django接收post前端返回的json格式数据代码实现
Jul 31 Python
使用Python的turtle模块画国旗
Sep 24 Python
pygame实现飞机大战
Mar 11 Python
python3 sleep 延时秒 毫秒实例
May 04 Python
python如何实现读取并显示图片(不需要图形界面)
Jul 08 Python
Python爬虫爬取糗事百科段子实例分享
Jul 31 Python
python判断元素是否存在的实例方法
Sep 24 Python
Python wordcloud库安装方法总结
Dec 31 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 flush类输出缓冲剖析
2008/10/19 PHP
php curl常见错误:SSL错误、bool(false)
2011/12/28 PHP
PHP使用数组实现队列
2012/02/05 PHP
记录Yii2框架开发微信公众号遇到的问题及解决方法
2018/07/20 PHP
鼠标经过的文本框textbox变色
2009/05/21 Javascript
IE中jquery.form中ajax提交没反应解决方法分享
2012/09/11 Javascript
jQuery建立一个按字母顺序排列的友好页面索引(兼容IE6/7/8)
2013/02/26 Javascript
jQuery实现在textarea指定位置插入字符或表情的方法
2015/03/11 Javascript
javascript针对不确定函数的执行方法
2015/12/16 Javascript
预防网页挂马的方法总结
2016/11/03 Javascript
jQuery事件绑定方法学习总结(推荐)
2016/11/21 Javascript
vue2.0实战之基础入门(1)
2017/03/27 Javascript
js实现适配不同的屏幕大小
2017/04/10 Javascript
angular4+百分比进度显示插件用法示例
2019/05/05 Javascript
Vue 动态组件components和v-once指令的实现
2019/08/30 Javascript
Node.JS用纯JavaScript生成图片或滑块式验证码功能
2019/09/12 Javascript
js实现3D旋转效果
2020/08/18 Javascript
[44:40]KG vs LGD 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
python提取页面内url列表的方法
2015/05/25 Python
python 实现自动远程登陆scp文件实例代码
2017/03/13 Python
python PyTorch参数初始化和Finetune
2018/02/11 Python
python实现梯度下降算法
2020/03/24 Python
python复制列表时[:]和[::]之间有什么区别
2018/10/16 Python
python实现感知机线性分类模型示例代码
2019/06/02 Python
Java爬虫技术框架之Heritrix框架详解
2020/07/22 Python
Python开发.exe小工具的详细步骤
2021/01/27 Python
新加坡最佳婴儿用品店:Mamahood.com.sg
2018/08/26 全球购物
英国花园、DIY、电器和家居用品商店:Robert Dyas
2019/03/18 全球购物
一套英文Java笔试题面试题
2016/04/21 面试题
个人求职简历的自我评价
2013/10/19 职场文书
乐观自信演讲稿范文
2014/05/21 职场文书
2015秋季开学演讲稿范文
2015/07/16 职场文书
2016年暑假学生家长评语
2015/12/01 职场文书
MySQL基础(二)
2021/04/05 MySQL
golang 实现并发求和
2021/05/08 Golang
Redis 哨兵机制及配置实现
2022/03/25 Redis