来自数据库
Id EndpointId MacAddress IsDefault IsAuto16 -2147483641 0x08002781A502 1 1 20 -2147483639 0x005056A54212 1 1
MacAddress column is BINARY(6) datatype
I'm using FreeTDS with Python and SQLAlchemy to get the data.
mymetadata = MetaData(engine_idf)
macadds = Table('EndpointsMacs',mymetadata,schema='dbo',autoload=True)
for row in macadds.select(macadds.c.IsDefault == 1).execute():
print row
我得到的是。
(16, -2147483641, "\x08\x00'\x81\xa5\x02", 真, 真)
(20, -2147483639, '\x00PV\xa5B\x12', 真, 真)
我需要获取等效文本中的第三个值,以便我可以使用 08002781A502 的实际值
谢谢
最佳答案
您可以使用 binascii.hexlify
(或 binascii.h2a_hex
)获取十六进制表示:
>>> import binascii
>>> binascii.hexlify("\x08\x00'\x81\xa5\x02")
'08002781a502'
和binascii.unhexlify
如果你想获得二进制数据表示:
关于python - SQLalchemy 问题从 MSSQL 列恢复二进制数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31690304/