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

标签 python sql-server sqlalchemy

来自数据库

Id EndpointId  MacAddress  IsDefault   IsAuto

16 -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/

相关文章:

python - 无法登录 Django 中的管理站点

mysql - 将数据库列映射到 Excel 电子表格

python - 将Python中SQL查询的结果分组以显示在页面上

python - SQLAlchemy 在查询中获取子字符串

python - 函数 'cvtColor' 中的 OpenCV 错误 : (-215:Assertion failed) ! _src.empty()

python - 通过按键让图像出现并停留 [pygame]

python - SQLAlchemy 中的导入错误

sqlalchemy - 方言特定的 sqlalchemy 配置

Python所有iterables匹配条件

sql-server - SQL Server 中的范围是什么/它是如何定义的?