• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > 使用Python进行二进制文件读写的简单方法(推荐)

使用Python进行二进制文件读写的简单方法(推荐)

作者:jingxian 字体:[增加 减小] 来源:互联网

jingxian 通过本文主要向大家介绍了python 二进制文件,python读取二进制文件,python 写二进制文件,python 读二进制文件,c#二进制文件读写等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

总的感觉,python本身并没有对二进制进行支持,不过提供了一个模块来弥补,就是struct模块。

python没有二进制类型,但可以存储二进制类型的数据,就是用string字符串类型来存储二进制数据,这也没关系,因为string是以1个字节为单位的。

import struct

a=12.34

#将a变为二进制

bytes=struct.pack('i',a)

此时bytes就是一个string字符串,字符串按字节同a的二进制存储内容相同。

再进行反操作

现有二进制数据bytes,(其实就是字符串),将它反过来转换成python的数据类型:

a,=struct.unpack('i',bytes)

注意,unpack返回的是tuple

所以如果只有一个变量的话:

bytes=struct.pack('i',a)

那么,解码的时候需要这样

a,=struct.unpack('i',bytes) 或者 (a,)=struct.unpack('i',bytes)

如果直接用a=struct.unpack('i',bytes),那么 a=(12.34,) ,是一个tuple而不是原来的浮点数了。

如果是由多个数据构成的,可以这样:

a='hello'

b='world!'

c=2

d=45.123

bytes=struct.pack('5s6sif',a,b,c,d)
</div>

此时的bytes就是二进制形式的数据了,可以直接写入文件比如 binfile.write(bytes)

然后,当我们需要时可以再读出来,bytes=binfile.read()

再通过struct.unpack()解码成python变量

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

'5s6sif'这个叫做fmt,就是格式化字符串,由数字加字符构成,5s表示占5个字符的字符串,2i,表示2个整数等等,下面是可用的字符及类型,ctype表示可以与python中的类型一一对应。

您可能想查找下面的文章:

  • 使用Python进行二进制文件读写的简单方法(推荐)
  • 使用Python内置的模块与函数进行不同进制的数的转换
  • 使用Python内置的模块与函数进行不同进制的数的转换
  • python处理二进制数据的方法
  • Python 26进制计算实现方法
  • Python 26进制计算实现方法
  • python读写二进制文件的方法

相关文章

  • 详解Python中find()方法的使用
  • python中使用pyhook实现键盘监控的例子
  • Python计算三角函数之asin()方法的使用
  • Python脚本实现集群检测和管理功能
  • 详细介绍Ruby中的正则表达式
  • Python使用shelve模块实现简单数据存储的方法
  • Python 装饰器深入理解
  • Python3的urllib.parse常用函数小结(urlencode,quote,quote_plus,unquote,unquote_plus等)
  • 完美解决Python2操作中文名文件乱码的问题
  • 一篇文章入门Python生态系统(Python新手入门指导)

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • python实现跨文件全局变量的方法
    • 详谈Python2.6和Python3.0中对除法操作的异同
    • python爬虫scrapy运行ImportError: No module named win32api错误
    • win10系统中安装scrapy-1.1
    • Windows中使用wxPython和py2exe开发Python的GUI程序的实例教程
    • python测试驱动开发实例
    • python实现获取客户机上指定文件并传输到服务器的方法
    • Python语法快速入门指南
    • python变量不能以数字打头详解
    • Python实现Windows和Linux之间互相传输文件(文件夹)的方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有

Format C Type Python 字节数
x pad byte no value 1
c char string of length 1 1
b signed char integer 1
B unsigned char integer 1
? _Bool bool 1
h short integer 2
H unsigned short integer 2
i int integer 4
I unsigned int integer or long 4
l long integer 4
L unsigned long long 4
q long long long 8
Q unsigned long long long 8
f float float 4
d double float 8
s char[] string 1
p char[] string 1
P