返回顶部
首页 > 资讯 > 后端开发 > Python >python 二进制文件处理
  • 701
分享到

python 二进制文件处理

二进制文件python 2023-01-31 02:01:56 701人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

python 二进制文件处理 采用Python处理二进制文件,文件打开方式需要设置成"rb"或"wb",使读写的数据流是二进制。还需要进行二进制数据和普通数据之间的转换。这时会用到python的包struct里的两个函数pac



python 二进制文件处理

采用Python处理二进制文件,文件打开方式需要设置成"rb"或"wb",使读写的数据流是二进制。还需要进行二进制数据和普通数据之间的转换。这时会用到python的包struct里的两个函数pack和unpack。pack函数将普通数据打包成二进制数据;而unpack数据将二进制数据分解成普通数据。

 help(struct.unpack)
Help on built-in function unpack in module _struct:

unpack(...)
    unpack(fmt, buffer) -> (v1, v2, ...)
    
    Return a tuple containing values unpacked according to the fORMat string
    fmt.  Requires len(buffer) == calcsize(fmt). See help(struct) for more
    on format strings.
help(struct.pack)
Help on built-in function pack in module _struct:

pack(...)
    pack(fmt, v1, v2, ...) -> bytes
    
    Return a bytes object containing the values v1, v2, ... packed according
    to the format string fmt.  See help(struct) for more on format strings.

上述fmt中,支持的格式为:

FORMAT C TYPE PYTHON TYPE STANDARD SIZE NOTES
x pad byte no value    
c char string of length 1 1  
b signed char integer 1 (3)
B unsigned char integer 1 (3)
? _Bool bool 1 (1)
h short integer 2 (3)
H unsigned short integer 2 (3)
i int integer 4 (3)
I unsigned int integer 4 (3)
l long integer 4 (3)
L unsigned long integer 4 (3)
q long long integer 8 (2), (3)
Q unsigned long long integer 8 (2), (3)
f float float 4 (4)
d double float 8 (4)
s char[] string    
p char[] string    
P void * integer   (5), (3)

注1.q和Q只在机器支持64位操作时有意义

注2.每个格式前可以有一个数字,表示个数

注3.s格式表示一定长度的字符串,4s表示长度为4的字符串,但是p表示的是pascal字符串

注4.P用来转换一个指针,其长度和机器字长相关

注5.最后一个可以用来表示指针类型的,占4个字节

为了同c中的结构体交换数据,还要考虑有的c或c++编译器使用了字节对齐,通常是以4个字节为单位的32位系统,故而struct根据本地机器字节顺序转换.可以用格式中的第一个字符来改变对齐方式.定义如下:

CHARACTER BYTE ORDER SIZE ALIGNMENT
@ native native native
= native standard none
< little-endian standard none
> big-endian standard none
! network (= big-endian) standard none

对齐方式放在fmt的第一个位置,如’@5s6sif’表示采用native的对齐方式,数据由5个长度的字符串,6个长度的字符串,一个整型和一个浮点数组成。



a='hello'

b='world!

'c=2d=45.123

bytes=struct.pack('5s6sif',a,b,c,d)

a,b,c,d=struct.unpack('5s6sif',bytes)


--结束END--

本文标题: python 二进制文件处理

本文链接: https://lsjlt.com/news/185806.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • python 二进制文件处理
    python 二进制文件处理 采用python处理二进制文件,文件打开方式需要设置成"rb"或"wb",使读写的数据流是二进制。还需要进行二进制数据和普通数据之间的转换。这时会用到python的包struct里的两个函数pac...
    99+
    2023-01-31
    二进制文件 python
  • python怎么处理二进制文件
    使用python处理二进制文件的方法:1.新建python项目;2.导入array模块;3.使用open()函数打开二进制文件,并创建文件对象;4.创建数组,用于处理二进制数据;5.使用readinto()方法将将二进制数据读取到数组;具体...
    99+
    2024-04-02
  • Python中的Numpy和Django如何处理二进制文件?
    Python是一门广受欢迎的编程语言,它的强大之处就在于它的灵活性和可扩展性。在Python中,Numpy和Django是两个非常重要的库,它们可以帮助我们处理各种数据类型,包括二进制文件。在本文中,我们将讨论如何使用Numpy和Djang...
    99+
    2023-06-01
    numpy django 文件
  • python 读取二进制文件
    固定大小 from functools import partial i = 0 f = open('lgtm-monitor.dat', 'rb') f2 = open('f.txt', 'w') records = iter...
    99+
    2023-01-31
    二进制文件 python
  • python写入二进制文件
    import struct list_dec = [1, 2, 3, 4, 53, 100, 220, 244, 255] with open('hexBin.bin', 'wb')as fp: for x in list_de...
    99+
    2023-01-31
    二进制文件 python
  • python处理二进制数据
    处理二进制数据离不开python的struct模块,struct理解上你可以把它理解为c语言的结构体,使用该模块的pack和unpack方法,可以很容易的把二进制数据转换为常用的类型数据,如整型、字符型等 结构体如下: str...
    99+
    2023-01-31
    二进制数 python
  • python 二进制文件的读写
    对于二进制代码的读取: import struct with open('valid0_0','rb') as f:#valid0_0二进制文件名 f.seek(0,2) n=f.tell() f.seek...
    99+
    2023-01-31
    二进制文件 python
  • python3文件处理中的二进制写入的问
    #之前一直没明白文件处理中的w和wb的区别到底是什么,#在看过视频后才知道,原来在linux里面是没有区别的,#但是在windows里面就能够看出区别来了#下面来个例子: with open("普通文本文件.txt", "w",encod...
    99+
    2023-01-31
    文件
  • Python怎么读写二进制文件
    本篇内容介绍了“Python怎么读写二进制文件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Python读写二进制文件使用python语言直...
    99+
    2023-06-04
  • python怎么缓冲二进制文件
    这篇文章主要介绍“python怎么缓冲二进制文件”,在日常操作中,相信很多人在python怎么缓冲二进制文件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python怎么缓冲二进制文件”的疑惑有所帮助!接下来...
    99+
    2023-06-30
  • Python文件操作之二进制文件详解
    目录1.二进制读取模式rb读取模式将读取到的内容写入到文件总结1.二进制读取模式 rt 读取文本文件(默认值) rb 读取二进制文件 file_name = ...
    99+
    2024-04-02
  • 5.7:Python如何读取二进制文件?
    随着信息技术的不断发展,二进制数据已经成为了现代计算机应用中不可或缺的一部分。在许多情况下,我们需要读取和处理二进制数据,这些数据可能包括图像、音频、视频、压缩文件等。Python作为一种流行的编程语言,提供了多种方法和库,可以帮助我们读取...
    99+
    2023-09-01
    java linux 开发语言
  • python怎么读文件变成二进制
    你可以使用`open()`函数以二进制模式打开文件。在打开文件时,将文件模式参数设置为`"rb"`,其中`"r"`表示只读,`"b"...
    99+
    2023-09-08
    python
  • Python读写二进制文件的实现
    目录1. 简介2. struct模块介绍3. struct模块中数据格式fmt对应C/C++和Python中的类型4. 实例5. Python 字符串前面加u,r,b,f的含义5.1...
    99+
    2023-05-15
    Python读写二进制文件 Python二进制文件读写
  • python二进制文件怎么转换为文本
    要将二进制文件转换为文本文件,可以使用Python中的`open()`函数以二进制模式打开二进制文件,然后将其读取为字节字符串,最后...
    99+
    2023-09-25
    python
  • mysql 二进制文件安装
    1.下载二进制文件并解压文件:下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloadstar xvzf mysql-5.7.23-linux...
    99+
    2024-04-02
  • 如何使用python缓冲二进制文件
    这篇文章将为大家详细讲解有关如何使用python缓冲二进制文件,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。python主要应用领域有哪些1、云计算,典型应用OpenStack。2、WEB前...
    99+
    2023-06-14
  • 如何在 Python 中读写二进制文件?
    在 Python 中,读写二进制文件是一项基本的任务。二进制文件通常包含非文本数据,例如图像、音频、视频等。 本文将向您介绍如何在 Python 中读写二进制文件。 什么是二进制文件? 在计算机中,所有数据都以二进制形式存储。二进制文件是一...
    99+
    2023-10-01
    文件 numpy javascript
  • 怎么使用Python读写二进制文件
    这篇文章主要介绍“怎么使用Python读写二进制文件”,在日常操作中,相信很多人在怎么使用Python读写二进制文件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么使用Python读写二进制文件”的疑惑有所...
    99+
    2023-07-06
  • Java 中的二进制文件处理:解锁文件系统的全部潜力
    ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作