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 查看文件的编码格式方法
Dec 21 Python
Python实现的购物车功能示例
Feb 11 Python
python实现简单tftp(基于udp协议)
Jul 30 Python
Selenium元素的常用操作方法分析
Aug 10 Python
在Python中给Nan值更改为0的方法
Oct 30 Python
Pycharm 实现下一个文件引用另外一个文件的方法
Jan 17 Python
python获取全国城市pm2.5、臭氧等空气质量过程解析
Oct 12 Python
Python列表操作方法详解
Feb 09 Python
Python序列化pickle模块使用详解
Mar 05 Python
python 如何快速复制序列
Sep 07 Python
python安装及变量名介绍详解
Dec 12 Python
python中温度单位转换的实例方法
Dec 27 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中读取和写入WORD文档的代码
2008/04/09 PHP
PHP加速 eAccelerator配置和使用指南
2009/06/05 PHP
php随机生成数字字母组合的方法
2015/03/18 PHP
PHP常用的三种设计模式汇总
2016/08/28 PHP
javascript 验证日期的函数
2010/03/18 Javascript
Jquery实现带动画效果的经典二级导航菜单
2013/03/22 Javascript
SwfUpload在IE10上不出现上传按钮的解决方法
2013/06/25 Javascript
javascript 循环调用示例介绍
2013/11/20 Javascript
JS文本获得焦点清除文本文字的示例代码
2014/01/13 Javascript
jQuery创建自定义的选择器用以选择高度大于100的超链接实例
2015/03/18 Javascript
盘点javascript 正则表达式中 中括号的【坑】
2016/03/16 Javascript
使用jQuery Mobile框架开发移动端Web App的入门教程
2016/05/17 Javascript
实现easyui的datagrid导出为excel的示例代码
2016/11/10 Javascript
javascript 实现动态侧边栏实例详解
2016/11/11 Javascript
Vue2路由动画效果的实现代码
2017/07/10 Javascript
关于 angularJS的一些用法
2017/11/29 Javascript
Nodejs对postgresql基本操作的封装方法
2019/02/20 NodeJs
Android 自定义view仿微信相机单击拍照长按录视频按钮
2019/07/19 Javascript
Windows系统下多版本pip的共存问题详解
2017/10/10 Python
python+ffmpeg批量去视频开头的方法
2019/01/09 Python
利用pyuic5将ui文件转换为py文件的方法
2019/06/19 Python
PyQt5-QDateEdit的简单使用操作
2020/07/12 Python
阿玛瑞酒店中文官方网站:Amari.com
2018/02/13 全球购物
智能室内花园:Click & Grow
2021/01/29 全球购物
SCHIESSER荷兰官方网站:德国内衣专家
2020/10/09 全球购物
当x.equals(y)等于true时,x.hashCode()与y.hashCode()可以不相等,这句话对不对
2015/05/02 面试题
优秀员工评语
2014/02/10 职场文书
教师试用期自我鉴定
2014/02/12 职场文书
忠诚奉献演讲稿
2014/09/12 职场文书
协商一致解除劳动合同协议书
2014/09/14 职场文书
医德医风个人工作总结2014
2014/11/14 职场文书
2014年保管员工作总结
2014/11/18 职场文书
2015年工程师工作总结
2015/04/30 职场文书
信仰纪录片观后感
2015/06/08 职场文书
SpringRetry重试框架的具体使用
2021/07/25 Java/Android
Logback 使用TurboFilter实现日志级别等内容的动态修改操作
2021/08/30 Java/Android