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中的递归函数
Apr 27 Python
python探索之BaseHTTPServer-实现Web服务器介绍
Oct 28 Python
Python实现感知器模型、两层神经网络
Dec 19 Python
Python with语句上下文管理器两种实现方法分析
Feb 09 Python
python3安装pip3(install pip3 for python 3.x)
Apr 03 Python
python队列queue模块详解
Apr 27 Python
Python按钮的响应事件详解
Mar 04 Python
Python绘制堆叠柱状图的实例
Jul 09 Python
Python爬取新型冠状病毒“谣言”新闻进行数据分析
Feb 16 Python
PyCharm 在Windows的有用快捷键详解
Apr 07 Python
Python 调用C++封装的进一步探索交流
Mar 04 Python
用Python爬取某乎手机APP数据
Jun 15 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随机生成随机个数的字母组合示例
2014/01/14 PHP
YII动态模型(动态表名)支持分析
2016/03/29 PHP
PHP使用ActiveMQ实现消息队列的方法详解
2019/05/31 PHP
java script编程起步(第三课)
2007/01/10 Javascript
$()JS小技巧
2007/07/21 Javascript
如何让div span等元素能响应键盘事件操作指南
2012/11/13 Javascript
巧用局部变量提升javascript性能
2014/02/24 Javascript
实例代码详解javascript实现窗口抖动及qq窗口抖动
2016/01/04 Javascript
JavaScript获取对象在页面中位置坐标的方法
2016/02/03 Javascript
设置jquery UI 控件的大小方法
2016/12/12 Javascript
微信小程序 image组件binderror使用例子与js中的onerror区别
2017/02/15 Javascript
jQuery EasyUI ProgressBar进度条组件
2017/02/28 Javascript
单行 JS 实现移动端金钱格式的输入规则
2017/05/22 Javascript
详解vue 不同环境配置不同的打包命令
2019/04/07 Javascript
详解js实时获取并显示当前时间的方法
2019/05/10 Javascript
javascript移动端 电子书 翻页效果实现代码
2019/09/07 Javascript
微信小程序实现多选框功能的实例代码
2020/06/24 Javascript
JavaScript实现像雪花一样的Hexaflake分形
2020/07/07 Javascript
如何在vue中使用HTML 5 拖放API
2021/01/14 Vue.js
深入了解Python数据类型之列表
2016/06/24 Python
浅谈django model postgres的json字段编码问题
2018/01/05 Python
Django ManyToManyField 跨越中间表查询的方法
2018/12/18 Python
在Pycharm中将pyinstaller加入External Tools的方法
2019/01/16 Python
python django 原生sql 获取数据的例子
2019/08/14 Python
python tkinter基本属性详解
2019/09/16 Python
python中watchdog文件监控与检测上传功能
2020/10/30 Python
HTML5实现锚点时请使用id取代name
2013/09/06 HTML / CSS
Trunki英国官网:儿童坐骑式行李箱
2017/05/30 全球购物
请问如下代码执行后a和b的值分别是什么
2016/05/05 面试题
swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上
2013/07/06 面试题
物流合作计划书
2014/01/10 职场文书
函授本科自我鉴定
2014/02/04 职场文书
《中彩那天》教学反思
2014/02/22 职场文书
领导干部廉政自律承诺书
2014/05/26 职场文书
Python关于OS文件目录处理的实例分享
2021/05/23 Python
详解redis在微服务领域的贡献
2021/10/16 Redis