如何在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' 

文档在这里。