zoukankan      html  css  js  c++  java
  • python 处理二进制文件

    python 处理二进制文件

    扩展名为.bin的文件就是一个二进制文件(binary)。不同于文本文件,二进制文件用记事本、Notepad++等打开都是乱码。

    但是.bin文件可以用UltraEdit等软件打开。二进制文件里面存储的都是数据,只有按照某个预先设定的规则读出,才能明白这些数字的具体含义。

    UltraEdit将二进制文件内容转为十六进制的形式展现出来

    二进制文件相比于文本文件的优点:节约存储空间、读写速度快、有一定的加密保护作用。

    Python 对二进制文件读写:

    #!/usr/bin/env python
    # coding=utf-8
    
    import struct
    import os
    
    filepath = '123.bin'
    
    def read_binfile(fpath):
        filepath = fpath
        binfile = open(filepath, 'rb')
        size = os.path.getsize(filepath)
        for i in range(size):
            data = binfile.read(1)          # #每次输出一个字节
            num = struct.unpack('B', data)  #参数B的含义是将C结构数据的unsigned char 类型转为python中的integer这里得到的num是tuple类型,因此使用num[0]将数字取出
            print(num[0])
    #        print(data)
    
        binfile.close()
    
    
    
    def write_binfile(fpath):
        data = 16
        content = data.to_bytes(1, 'big')  # 参数 ‘1’ :转为1个字节的bytes; 参数 'big’ :byteorder。
        filepath = fpath
        binfile = open(filepath, 'ab+')
        binfile.write(content)
        print("content:", content)
        binfile.close()
    
    if __name__ == '__main__':
    
        read_binfile(filepath)
    #    write_binfile(filepath)
    
    
  • 相关阅读:
    高燕师姐博客
    2015.1.12
    功能连接分析论文
    半结构化面试
    各大银行
    独立思考者模型:用专家的思维思考问题
    独立思考者模型:避开思维误区的沼泽
    独立思考者模型:寻找潜藏在表象背后的真相
    独立思考者模型:如何分辨信息的真伪
    独立思考者模型:你相信灵魂转世假说吗?
  • 原文地址:https://www.cnblogs.com/michaelcjl/p/14811968.html
Copyright © 2011-2022 走看看