今天应同事要求写了一个把二进制数据前面补零,使数据全部对齐的脚本。
原本的数据的一行比如: 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”。
最后的效果如下图: