hex()Pythonの関数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'
deadbeef例が大好きです。そしてformat()、これを行うための最良の方法です。
このコードを使用します:
'{:x}'.format(int(line))
桁数も指定できます。
'{:06x}'.format(123)
# '00007b'
Python2.6の場合は
'{0:x}'.format(int(line))
または
'{0:06x}'.format(int(line))
format()関数の使用は簡単で、テンプレート機能は使用せず、フォーマットのみを使用します。すべてのテンプレートが含まれている場合である{:..}ため1つの値、への移行format(value, '..')の代わりに。
f.write('{:x}'.format(hex(int(line))))、それは言うValueError: zero length field name in format
format文字列ではなくintが必要です:f.write('{:x}'.format(int(line)))
あなたは単に書くことができます
hex(x)[2:]
最初の2文字を削除します。
>>> hex(3735928559)[2:] 'deadbeefL'
xが負の場合、これは壊れます。
0x。