Я новичок в python и действительно нуждаюсь в некоторой помощи. Я открываю файл в двоичном формате и ищу конкретное смещение, а затем считывая первые пару байтов в смещении. Я изо всех сил пытаюсь понять, как я могу еще больше изолировать значение, которое мне нужно, в возвращаемой строке. Таким образом, я могу правильно получить целочисленное значение 21229 из тестового файла (это шестнадцатеричное значение 0x52ed), но мне нужно сделать еще один шаг и разделить шестнадцатеричный только на первые два бита (0x52), так что я получаю целочисленное значение 84, которое является значением, которое я получил после. Код ниже. Большое спасибо за любую помощь, оказаннуюPython pop и hex values
offset=0x49f2
from array import *
import os,sys
def emptyarray(data):
while len(data) > 0:
data.pop()
bo=sys.byteorder
filename="c:\\test\test.fil"
fp=open (filename,"rb")
data=array("h")
fp.seek(offset,0)
if bo=="big":
data.byteswap()
data.fromfile(fp,1)
value=data.pop()
print value
hexvalue=hex(value)
print hexvalue
Что случилось с этим кодом? – aIKid
Я ничего не думаю о себе @alKid. Это работает, но я не знаю достаточно питона, чтобы получить то, что мне нужно; который, по сути, нарезает окончательное шестнадцатеричное значение в два, поэтому я остаюсь с 0x52 (который в целочисленном размере, который мне нужно использовать). – user2377057