SQLalchemy问题从MSSQL列恢复二进制数据

时间:2015-07-29 02:32:50

标签: python sql-server sqlalchemy

从数据库

Id EndpointId  MacAddress  IsDefault   IsAuto

16 -2147483641 0x08002781A502 1 1 20 -2147483639 0x005056A54212 1 1

MacAddress列是BINARY(6)数据类型

我使用FreeTDS和Python以及SQLAlchemy来获取数据。

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",True,True)

(20,-2147483639,' \ x00PV \ xa5B \ x12',True,True)

我需要在文本等效中获取第三个值,以便我可以使用实际值08002781A502

由于

1 个答案:

答案 0 :(得分:1)

您可以使用binascii.hexlify(或>>> import binascii >>> binascii.hexlify("\x08\x00'\x81\xa5\x02") '08002781a502' )获取十六进制表示形式:

binascii.unhexlify
如果您想获得二进制数据表示,请使用

$('.team_item').click(function(){ $('.fadeinscale').attr('class', $(this).attr('class')); }