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”。

最後的效果如下圖:

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