すみません、バイナリの文字列を16進に変換したいのですがどうしたらよいでしょうか?
str型(diff)「00000000000100000011111111111000001・・・」→「00103FF8・・・」のようにしたいです

転値してからファイルに書き込むことを踏まえ
f.write(np.transpose(format(int(''.join(map(str, diff)), 2),'x')))
と書いているのですがint(,2)で10進に直してからformatで16進にしようとすると10進に直した時点で頭が「00000000・・・」のように始まる場合その部分が消えてしまい
10進にせず
f.write(np.transpose(''.join(map(str, diff)).encode('hex'))
このようにやっても何かしらのエラーがでてしまいます

よろしくおねがいします