python中的hex()
函數,將前導字符0x
放在數字的前面。無論如何要告訴它不要放它們?所以0xfa230
將是fa230
。如何在Python中使用不帶0x的十六進制()?
的代碼是
import fileinput
f = open('hexa', 'w')
for line in fileinput.input(['pattern0.txt']):
f.write(hex(int(line)))
f.write('\n')
python中的hex()
函數,將前導字符0x
放在數字的前面。無論如何要告訴它不要放它們?所以0xfa230
將是fa230
。如何在Python中使用不帶0x的十六進制()?
的代碼是
import fileinput
f = open('hexa', 'w')
for line in fileinput.input(['pattern0.txt']):
f.write(hex(int(line)))
f.write('\n')
使用此代碼:
'{:x}'.format(int(line))
它允許你指定的位數太多:
'{:06x}'.format(123)
# '00007b'
對於Python 2.6使用
'{0:x}'.format(int(line))
或
'{0:06x}'.format(int(line))
使用'format()'函數更容易,您沒有使用任何模板功能,只使用格式。如果您的所有模板都包含'{:..}'用於* one *值,則轉而使用format(value,'..')'。 – 2013-05-07 08:33:19
使用'f.write('{:x}'.format(hex(int(line))))',它表示'ValueError:零長度字段名稱格式' – mahmood 2013-05-07 08:34:50
'format'需要一個int,而不是一個字符串:'f.write('{:x}'.format(int(line)))' – eumiro 2013-05-07 08:35:59
舊風格的字符串格式化:
In [3]: "%02x" % 127
Out[3]: '7f'
新款
In [7]: '{:x}'.format(127)
Out[7]: '7f'
使用大寫字母作爲格式字符產生大寫十六進制
In [8]: '{:X}'.format(127)
Out[8]: '7F'
Docs在這裏。
您可以切分「0x」。 – 2013-05-07 08:30:16