如何在Python中使用不带0x的hex()?
python中的hex()
函数将前导字符0x
放在数字前面。 无论如何要告诉它不要把它们? 所以0xfa230
将是fa230
。
代码是
import fileinput f = open('hexa', 'w') for line in fileinput.input(['pattern0.txt']): f.write(hex(int(line))) f.write('\n')
>>> format(3735928559, 'x') 'deadbeef'
使用此代码:
'{:x}'.format(int(line))
它也允许你指定一些数字:
'{:06x}'.format(123) # '00007b'
对于Python 2.6使用
'{0:x}'.format(int(line))
要么
'{0:06x}'.format(int(line))
你可以简单地写
hex(x)[2:]
去掉前两个字符
旧式string格式:
In [3]: "%02x" % 127 Out[3]: '7f'
新风格
In [7]: '{:x}'.format(127) Out[7]: '7f'
使用大写字母作为格式字符会产生大写的hex
In [8]: '{:X}'.format(127) Out[8]: '7F'
文档在这里。