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'
deadbeef예를 좋아해야합니다 . 그리고 format()이것이 가장 좋은 방법입니다.
c0ffee = format(12648430, 'x'). Python3.8에서는 16 진수의 기본 예입니다.
이 코드를 사용하십시오.
'{:x}'.format(int(line))
자릿수도 지정할 수 있습니다.
'{:06x}'.format(123)
# '00007b'
Python 2.6 사용
'{0:x}'.format(int(line))
또는
'{0:06x}'.format(int(line))
format()함수를 사용하는 것이 더 쉽습니다. 템플릿 기능을 사용하지 않고 서식 만 사용합니다. 템플릿에 포함 된 모든 경우 {:..}에 대한 하나 개의 값으로 이동 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:]
처음 두 문자를 제거합니다.
>>> hex(3735928559)[2:] 'deadbeefL'
x음수 이면 중단됩니다 .
Python 3.6 이상 :
>>> i = 240
>>> f'{i:02x}'
'f0'
0x.