どのようにtxtファイルを読み出して、中の数字を書きます.datファイル

1079 ワード

file_name=r'/home/user/python/dataset/model_data5.txt'

file=open(file_name,'r')
data = file.read()#read the whole binary file to string
file.close()

data =data.replace('
','').replace('\t','') # data = data.expandtabs(0) tab # print(data) file_name1 = "weight1.dat" file1 = open(file_name1, 'w') num=0 weight_len=9 i=0 # a='00001101' # int_10=int(a,2) # print(int_10) # aaa=struct.pack("string", a) # print(int(a)) while num<=len(data)-weight_len: a=data[num:num+weight_len] print(a) data_bin=int(a,2) print(data_bin) # b=hex(int(a))[2:].zfill(9) # file1.write(hex(b)[2:].zfill(4)) # print(b) file1.write('@') file1.write(hex(i)[2:].zfill(4)) file1.write('
') file1.write(hex(int(data_bin))[2:].zfill(8)) # zfill(8) stardard hex file1.write('
') i+=1 num += 9 file1.close()

主にこのフォーマットで自分で修正し、int(a,2)、1つの文字列をバイナリ形式で10進数に変換します.struckという関数ライブラリにもこの機能があります.