python 自动补齐二进制数据

今天应同事要求写了一个把二进制数据前面补零,使数据全部对齐的脚本。

原本的数据的一行比如: 101010

补齐后为: 00101010

具体实现方法如下:

if os.path.isdir(path3):
    path4 = os.listdir(path3)
    for path5 in path4:
        if path5.find("ori")>=0 or path5.find("res")>=0:
            file = os.path.join(path3,path5)
            fread = open(file,"r",encoding='utf-8')
            lines = fread.readlines()
            fread.close()

            i = 0
            for line in lines:
                lines[i] = line.zfill(9)
                i = i+1

            fwrite = open(file, "w", encoding='utf-8')
            lines = fwrite.writelines(lines)
            fwrite.close()

首先把文件名和文件夹路径拼接起来,组成一个文件的绝对路径;

然后把所有数据read到lines中

接着 在循环中依次把每一行的数据用.zfill补齐为8位二进制数, 所传的参数为9是因为每一行还有一个换行符“\n”。

最后的效果如下图:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章