精华内容
下载资源
问答
  • 主要介绍了python读写二进制文件的方法,实例分析了Python读写二进制文件的相关技巧,需要的朋友可以参考下
  • 本文实例讲述了python读写二进制文件的方法。分享给大家供大家参考。具体如下:初学python,现在要读一个二进制文件,查找doc只发现 file提供了一个read和write函数,而且读写的都是字符串,如果只是读写char等一个...

    本文实例讲述了python读写二进制文件的方法。分享给大家供大家参考。具体如下:

    初学python,现在要读一个二进制文件,查找doc只发现 file提供了一个read和write函数,而且读写的都是字符串,如果只是读写char等一个字节的还行,要想读写如int,double等多字节数 据就不方便了。在网上查到一篇贴子,使用struct模块里面的pack和unpack函数进行读写。下面就自己写代码验证一下。

    >>> from struct import *

    >>> file = open(r"c:/debug.txt", "wb")

    >>> file.write(pack("idh", 12345, 67.89, 15))

    >>> file.close()

    接着再将其读进来

    >>> file = open(r"c:/debug.txt", "rb")

    >>> (a,b,c) = unpack("idh",file.read(8+8+2))

    >>> a,b,c

    (12345, 67.890000000000001, 15)

    >>> print a,b,c

    12345 67.89 15

    >>> file.close()

    在操作过程中需要注意数据的size

    注意 wb,rb中的b字,一定不可以少

    方法1:

    myfile=open('c:\\t','rb')

    s=myfile.read(1)

    byte=ord(s) #将一个字节 读成一个数

    print hex(byte) #转换成16进制的字符串

    方法2

    import struct

    myfile=open('c:\\t','rb').read(1)

    print struct.unpack('c',myfile)

    print struct.unpack('b',myfile)

    写入

    To open a file for binary writing is easy, it is the same way you do for reading, just change the mode into “wb”.

    file = open("test.bin","wb")

    But, how to write the binary byte into the file?You may write it straight away with hex code like this:

    file.write("\x5F\x9D\x3E") file.close()

    Now, check it out with hexedit,

    hexedit test.bin

    You will see this:

    00000000 5F 9D 3E _.> 00000020 00000040

    Now, open the file to append more bytes:

    file = open("test.bin","ab")

    What if I want to store by bin value into a stream and write it one short?s ="\x45\xF3" s = s + "%c%c" % (0x45,0xF3) file.write(s) file.close()

    Any convenient ways if I can obtained a hex string, and want to convert it back to binary format?Yes, you just need to import binascii

    import binascii hs="5B7F888489FEDA" hb=binascii.a2b_hex(hs) file.write(hb) file.close()

    希望本文所述对大家的Python程序设计有所帮助。

    展开全文
  • 本文实例讲述了python读写二进制文件的方法。分享给大家供大家参考。具体如下:初学python,现在要读一个二进制文件,查找doc只发现 file提供了一个read和write函数,而且读写的都是字符串,如果只是读写char等一个...

    本文实例讲述了python读写二进制文件的方法。分享给大家供大家参考。具体如下:

    初学python,现在要读一个二进制文件,查找doc只发现 file提供了一个read和write函数,而且读写的都是字符串,如果只是读写char等一个字节的还行,要想读写如int,double等多字节数 据就不方便了。在网上查到一篇贴子,使用struct模块里面的pack和unpack函数进行读写。下面就自己写代码验证一下。

    ?

    1

    2

    3

    4

    >>>from structimport *

    >>>file = open(r"c:/debug.txt","wb")

    >>>file.write(pack("idh",12345,67.89,15))

    >>>file.close()

    接着再将其读进来

    ?

    1

    2

    3

    4

    5

    6

    7

    >>>file = open(r"c:/debug.txt","rb")

    >>> (a,b,c)= unpack("idh",file.read(8+8+2))

    >>> a,b,c

    (12345,67.890000000000001,15)

    >>>print a,b,c

    12345 67.89 15

    >>>file.close()

    在操作过程中需要注意数据的size

    注意 wb,rb中的b字,一定不可以少

    方法1:

    ?

    1

    2

    3

    4

    myfile=open('c:\\t','rb')

    s=myfile.read(1)

    byte=ord(s)#将一个字节 读成一个数

    print hex(byte)#转换成16进制的字符串

    方法2

    ?

    1

    2

    3

    4

    import struct

    myfile=open('c:\\t','rb').read(1)

    print struct.unpack('c',myfile)

    print struct.unpack('b',myfile)

    写入

    To open a file for binary writing is easy, it is the same way you do for reading, just change the mode into “wb”.

    file = open("test.bin","wb")

    But, how to write the binary byte into the file?

    You may write it straight away with hex code like this:

    file.write("\x5F\x9D\x3E") file.close()

    Now, check it out with hexedit,

    hexedit test.bin

    You will see this:

    00000000 5F 9D 3E _.> 00000020 00000040

    Now, open the file to append more bytes:

    file = open("test.bin","ab")

    What if I want to store by bin value into a stream and write it one short?

    s ="\x45\xF3" s = s + "%c%c" % (0x45,0xF3) file.write(s) file.close()

    Any convenient ways if I can obtained a hex string, and want to convert it back to binary format?

    Yes, you just need to import binascii

    import binascii hs="5B7F888489FEDA" hb=binascii.a2b_hex(hs) file.write(hb) file.close()

    希望本文所述对大家的Python程序设计有所帮助。

    展开全文
  • 本文实例讲述了python读写二进制文件的方法。分享给大家供大家参考。具体如下:初学python,现在要读一个二进制文件,查找doc只发现 file提供了一个read和write函数,而且读写的都是字符串,如果只是读写char等一个...

    本文实例讲述了python读写二进制文件的方法。分享给大家供大家参考。具体如下:

    初学python,现在要读一个二进制文件,查找doc只发现 file提供了一个read和write函数,而且读写的都是字符串,如果只是读写char等一个字节的还行,要想读写如int,double等多字节数 据就不方便了。在网上查到一篇贴子,使用struct模块里面的pack和unpack函数进行读写。下面就自己写代码验证一下。

    >>> from struct import *

    >>> file = open(r"c:/debug.txt", "wb")

    >>> file.write(pack("idh", 12345, 67.89, 15))

    >>> file.close()

    接着再将其读进来

    >>> file = open(r"c:/debug.txt", "rb")

    >>> (a,b,c) = unpack("idh",file.read(8+8+2))

    >>> a,b,c

    (12345, 67.890000000000001, 15)

    >>> print a,b,c

    12345 67.89 15

    >>> file.close()

    在操作过程中需要注意数据的size

    注意 wb,rb中的b字,一定不可以少

    方法1:

    myfile=open('c:\\t','rb')

    s=myfile.read(1)

    byte=ord(s) #将一个字节 读成一个数

    print hex(byte) #转换成16进制的字符串

    方法2

    import struct

    myfile=open('c:\\t','rb').read(1)

    print struct.unpack('c',myfile)

    print struct.unpack('b',myfile)

    写入

    To open a file for binary writing is easy, it is the same way you do for reading, just change the mode into “wb”.

    file = open("test.bin","wb")

    But, how to write the binary byte into the file?You may write it straight away with hex code like this:

    file.write("\x5F\x9D\x3E") file.close()

    Now, check it out with hexedit,

    hexedit test.bin

    You will see this:

    00000000 5F 9D 3E _.> 00000020 00000040

    Now, open the file to append more bytes:

    file = open("test.bin","ab")

    What if I want to store by bin value into a stream and write it one short?s ="\x45\xF3" s = s + "%c%c" % (0x45,0xF3) file.write(s) file.close()

    Any convenient ways if I can obtained a hex string, and want to convert it back to binary format?Yes, you just need to import binascii

    import binascii hs="5B7F888489FEDA" hb=binascii.a2b_hex(hs) file.write(hb) file.close()

    希望本文所述对大家的Python程序设计有所帮助。

    展开全文
  • 本文实例讲述了python读写二进制文件的方法。分享给大家供大家参考。具体如下:初学python,现在要读一个二进制文件,查找doc只发现 file提供了一个read和write函数,而且读写的都是字符串,如果只是读写char等一个...

    本文实例讲述了python读写二进制文件的方法。分享给大家供大家参考。具体如下:

    初学python,现在要读一个二进制文件,查找doc只发现 file提供了一个read和write函数,而且读写的都是字符串,如果只是读写char等一个字节的还行,要想读写如int,double等多字节数 据就不方便了。在网上查到一篇贴子,使用struct模块里面的pack和unpack函数进行读写。下面就自己写代码验证一下。

    >>> from struct import *

    >>> file = open(r"c:/debug.txt", "wb")

    >>> file.write(pack("idh", 12345, 67.89, 15))

    >>> file.close()

    接着再将其读进来

    >>> file = open(r"c:/debug.txt", "rb")

    >>> (a,b,c) = unpack("idh",file.read(8+8+2))

    >>> a,b,c

    (12345, 67.890000000000001, 15)

    >>> print a,b,c

    12345 67.89 15

    >>> file.close()

    在操作过程中需要注意数据的size

    注意 wb,rb中的b字,一定不可以少

    方法1:

    myfile=open('c:\\t','rb')

    s=myfile.read(1)

    byte=ord(s) #将一个字节 读成一个数

    print hex(byte) #转换成16进制的字符串

    方法2

    import struct

    myfile=open('c:\\t','rb').read(1)

    print struct.unpack('c',myfile)

    print struct.unpack('b',myfile)

    写入

    To open a file for binary writing is easy, it is the same way you do for reading, just change the mode into “wb”.

    file = open("test.bin","wb")

    But, how to write the binary byte into the file?You may write it straight away with hex code like this:

    file.write("\x5F\x9D\x3E") file.close()

    Now, check it out with hexedit,

    hexedit test.bin

    You will see this:

    00000000 5F 9D 3E _.> 00000020 00000040

    Now, open the file to append more bytes:

    file = open("test.bin","ab")

    What if I want to store by bin value into a stream and write it one short?s ="\x45\xF3" s = s + "%c%c" % (0x45,0xF3) file.write(s) file.close()

    Any convenient ways if I can obtained a hex string, and want to convert it back to binary format?Yes, you just need to import binascii

    import binascii hs="5B7F888489FEDA" hb=binascii.a2b_hex(hs) file.write(hb) file.close()

    希望本文所述对大家的Python程序设计有所帮助。

    本文标题: python读写二进制文件的方法

    本文地址: http://www.cppcns.com/jiaoben/python/124447.html

    展开全文
  • python读写二进制文件(读写字节数据).pdf
  • 1. 什么是.bin文件扩展名为.bin的文件就是一个二进制文件(binary)。不同于文本文件,二进制文件用记事本、Notepad++等打开都是乱码。像是这样:但是.bin文件可以用WINHEX等软件打开。二进制文件里面存储的都是数据...
  • python读写二进制文件

    2017-10-04 20:57:10
    需求python读取一个二进制文件,然后写入另一个文件,在这里关键是判断文件长度的语句:os.path.getsize('file') #!/usr/bin/env python import os f1 = open("wxPython4.jpg", "w") #f1.write(data) ...
  • python 读写二进制文件

    千次阅读 2018-07-21 19:12:00
    一个字节8位,4个字节32位,也就是2^32; Python创建并把数据写入二进制文件 import struct f = open('n.dat', 'wb') a = struct.pack(‘I’, 0)#I是i的大写 f.write(a)   可参考: ...
  • https://blog.csdn.net/qq_21644175/article/details/79966397?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2allfirst_rank_v2~rank_v25-3-79966397.nonecase&utm_term=python%E5%88%9B%E5%BB%B...
  • Python读写二进制文件

    千次阅读 2012-08-30 19:31:43
    读: file模式'rb' import binascii s_16 = binascii.b2a_hex(f.read(1))#2--->16 ...f.write(struct.pack('B',int(s_16,16)))#16--->10,此处若不将16进制数据转换成10进制在转换成字节流直接写进文件的话,
  • 读取二进制文件并保存为Long型 (读取原文件通过UltraEdit查看16进制编码是“78 56 34 12”)#以二进制的方式读取文件#coding: UTF-8fileData = open('/home/ubuntu/staff_sample.dat','rb')#读取文件的前4个字节 #将...
  • python 读写二进制文件实例

    千次阅读 2018-07-16 23:51:00
    本程序,首先写入一个矩阵到二进制文件中,然后读取二进制文件恢复到另外一个矩阵中。 #coding:utf--8 #https://www.cnblogs.com/cmnz/p/6986979.html #https://blog.csdn.net/uuihoo/article/details/79848726 ...
  • Here's how to do it with the basic file operations in Python. This opens one file, reads the data into memory, then opens the second file and writes it out. in_file = open("in-file", "rb") # opening...
  • 第一种情况:读写列表 列表记为a1 a1_size = len(a1) # 获取列表的长度 fmt = str(a1_size ) + 'd' # 假如列表里的元素为浮点数,且位数很多,用d,d代表double,8个字节 with open(libfile_path, 'wb') as ...
  • f.write(b'hello world') # 二进制写 f.close() # 关闭文件 f = open("test4.txt", 'rb') # 二进制读 print(f.read()) # b'hello world' 打印读出来的数据 f.close() # 关闭文件 posted @ 2020-03-01 16:52 狂客 ...
  • python读写二进制文件 np.save & np.load 将数组以未压缩的原始二进制格式保存在扩展名为 npy 的文件中 np.save('name.npy', data) data = np.load('name.npy') tofile & fromfile 读写二进制文件。文件...
  • python没有二进制类型,但可以存储二进制类型的数据,就是用string字符串类型来存储二进制数据,这也没关系,因为string是以1个字节为单位的。import structa=12.34#将a变为二进制bytes=struct.pack('i',a)此时bytes...
  • python中可以使用open()函数以指定方式打开文件,然后进行二进制读写。函数语法open(name[, mode[, buffering]])参数说明:name : 一个包含了你要访问的文件名称的字符串值。mode : mode 决定了打开文件的模式:只读...
  • python读取二进制流 Python二进制方式读写文件发布时间:2017-03-18来源:服务器之家这两天用Python解析ELF二进制文件,遇到了不少问题,总结整理如下,以便加深对Python的理解。以二进制读取文件,也就是’rb’格式...
  • python没有二进制类型,但可以存储二进制类型的数据,就是用string字符串类型来存储二进制数据,这也没关系,因为string是以1个字节为单位的。import structa=12.34#将a变为二进制bytes=struct.pack('i',a)此时bytes...
  • python没有二进制类型,但可以存储二进制类型的数据,就是用string字符串类型来存储二进制数据,这也没关系,因为string是以1个字节为单位的。import structa=12.34#将a变为二进制bytes=struct.pack('i',a)此时bytes...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 40,947
精华内容 16,378
关键字:

python读写二进制文件

python 订阅