In python3 I have some bytes. I want to export them to C source code. Outside python I use \"xxd -i binary_file\" command.
Example:
x = b\'abc123\'
print
Here is a very fast way (134 MiB/s on Intel i7-8700, Python 2) that avoids iterating using slow, interpreted Python loops and iterates in optimized code
import binascii
x=b'abc123'
hex=binascii.b2a_hex(x)
# add \x prefix
hex2=bytearray(4*len(b))
hex2[0::4]='\\'*len(b)
hex2[1::4]='x'*len(b)
hex2[2::4]=hex[0::2]
hex2[3::4]=hex[1::2]
Using your example, this will generate these hex literals
\x61\x62\x63\x31\x32\x33
Just put this inside a double quoted string. I've omitted that code for brevity.