最近在进行TRNG真随机数的测试,需要获取指定大小的随机数文件。测试是通过串口收集随机数,得到一份日志文件。先日志文件转成一个二进制文件,然后将二进制拆分成多个指定大小的文件。
以下是代码实现:
import os
# 二进制文件路径
bin_path = './binary/self_seeding_mode_rand.bin'
bin_name = bin_path.split('/')[-1].replace('.bin', '')
# 切分后存入的路径
path_split = 'split'
if not os.path.exists(path_split):
os.makedirs(path_split)
# 需要分割的大小,单位是字节
slice_size = 125000
# 打开源文件
fr = open(bin_path, 'rb')
# 文件计数
count = 0
# 开始切分
while True:
b = fr.read(slice_size)
if not b:
break
with open(path_split + os.sep + bin_name + '_%s.bin' % count, 'wb') as fw:
fw.write(b)
count += 1
fr.close()