Jeszcze nie doszedłem ;-(
Ale wydaje mi się, że trzeba stworzyć taką tablicę?: ['cd', 'ef', '05', '54', 'c0'] <- dla przykładu z zadania
i potem tą tablicę zapisać, po drodze konwertując na tablicę numpy a potem na string:
sys.stdout.write(numpy.array(nazwa_tablicy, numpy.uint8).tostring())
Ale nie doszedłem, więc mogę się mylić.
PS
jeżeli zrobimy full import numpy, i sys, to oczywiście:
from numpy import *
from sys import *
[bez sys.stdout.]write(array(nazwa_tablicy, uint8).tostring())
PS2
Po co takie zawijasy z hexdump, a potem diff?
Pewnie dlatego, że diff bardzo niechętnie obsługuje [nawet więcej, wcale nie obsługuje] pliki binarne, więc oba wyjścia, wzorcowe i ze swojego programu zamieniamy hexdumpem, na linijki z ciągiami hex, i to już diff może łyknąć. Dzięki temu, możemy sprawdzić, w których linijkach jest i teoretycznie jaka różnica. Teoretycznie, bo tą różnicę , musimy wyszukać już ręcznie [ocznie], oglądając wyrzucone linijki. Ale czy to nas interesuje? Jeżeli chcemy tylko wiedzieć czy jest tak samo czy inaczej [bez względu jak bardzo inaczej] to wystarczy cmp :
[bbone=text,2396]mietek@mietek-F3Sg ~ $ cmp --help
Usage: cmp [OPTION]... FILE1 [FILE2 [SKIP1 [SKIP2]]]
Compare two files byte by byte.
The optional SKIP1 and SKIP2 specify the number of bytes to skip
at the beginning of each file (zero by default).
Mandatory arguments to long options are mandatory for short options too.
-b, --print-bytes print differing bytes
-i, --ignore-initial=SKIP skip first SKIP bytes of both inputs
-i, --ignore-initial=SKIP1:SKIP2 skip first SKIP1 bytes of FILE1 and
first SKIP2 bytes of FILE2
-l, --verbose output byte numbers and differing byte values
-n, --bytes=LIMIT compare at most LIMIT bytes
-s, --quiet, --silent suppress all normal output
--help display this help and exit
-v, --version output version information and exit
[/bbone]