您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python – 从二进制文件中读取10位整数

5b51 2022/1/14 8:21:57 python 字数 1562 阅读 513 来源 www.jb51.cc/python

我有一个包含10位整数流的二进制文件.我想读它并将值存储在列表中.它使用以下代码,它读取my_file并使用整数值填充像素:file = open('my_file', 'rb') pixels = [] new10bitsByte = '' try: byte = file.read(1) while byte: bit

概述

我有一个包含10位整数流的二进制文件.我想读它并将值存储在列表中.

它使用以下代码,它读取my_file并使用整数值填充像素:

file = open("my_file","rb")

pixels = []
new10bitsByte = ""

try:
    byte = file.read(1)
    while byte:
        bits = bin(ord(byte))[2:].rjust(8,'0')
        for bit in reversed(bits):
            new10bitsByte += bit
            if len(new10bitsByte) == 10:
                pixels.append(int(new10bitsByte[::-1],2))
                new10bitsByte = ""             
    byte = file.read(1)

finally:
    file.close()

将字节读入位并将其读回“10位”字节似乎并不优雅.有没有更好的方法呢?

对于8位或16位整数,我可以使用file.read(size)并将结果直接转换为int.但是在这里,因为每个值都存储在1.25字节中,我需要像file.read(1.25)这样的东西…

总结

以上是编程之家为你收集整理的Python – 从二进制文件中读取10位整数全部内容,希望文章能够帮你解决Python – 从二进制文件中读取10位整数所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶