Python中用字节处理文件的具体操作是什么
Admin 2022-07-19 群英技术资讯 561 次浏览
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)
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
单例模式(Singleton Pattern)是一种常用的软件设计模式,是指一个类的实例从始至终只能被创建一次,同时它提供一个静态的getInstance()
这篇文章主要介绍了Python 权限控制模块 Casbin,Casbin是一个强大的、高效的开源访问控制框架,其权限管理机制支持多种访问控制模型,更多相关内容感兴趣的朋友可以参考下面文章内容
这篇文章主要介绍了pytorch教程中网络的构建流程,文中附含了详细的示例代码流程,有需要的朋友可以借鉴参考下,希望可以有所帮助
这篇文章主要介绍了Python网络编程之ZeroMQ知识总结,文中有非常详细的代码示例,对正在学习python的小伙伴们有非常好的帮助,需要的朋友可以参考下
这篇文章主要介绍了Python3中的bytes类型和str类型,bytes是一种比特流,他们之间的关系则是Python有个内置函数bytes()可以将字符串str类型转换成bytes类型,下文更多详细内容需要的小伙伴可以参考一下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008