The hex()
function in python, puts the leading characters 0x
in front of the number. Is there anyway to tell it NOT to put them? So 0xfa230
will be fa230
.
The code is
import fileinput
f = open('hexa', 'w')
for line in fileinput.input(['pattern0.txt']):
f.write(hex(int(line)))
f.write('\n')
This question is related to
python
Use this code:
'{:x}'.format(int(line))
it allows you to specify a number of digits too:
'{:06x}'.format(123)
# '00007b'
For Python 2.6 use
'{0:x}'.format(int(line))
or
'{0:06x}'.format(int(line))
Python 3.6+:
>>> i = 240
>>> f'{i:02x}'
'f0'
You can simply write
hex(x)[2:]
to get the first two characters removed.
Old style string formatting:
In [3]: "%02x" % 127
Out[3]: '7f'
New style
In [7]: '{:x}'.format(127)
Out[7]: '7f'
Using capital letters as format characters yields uppercase hexadecimal
In [8]: '{:X}'.format(127)
Out[8]: '7F'
Docs are here.
Source: Stackoverflow.com