小编Rah*_*hul的帖子

如何使用 sqlalchemy 枚举解决 mypy 错误?

mypy 报告以下代码中的错误:

import enum
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column, Enum

Base = declarative_base()

class MyEnum(enum.Enum):
    A = 1
    B = 2

class MyTable(Base):
    __tablename__ = 'my_table'

    col = Column(Enum(MyEnum), nullable=False)

c = MyTable(col=MyEnum.A)
Run Code Online (Sandbox Code Playgroud)

以下是错误:

a.py:16: 错误:“MyTable”的“col”类型不兼容(得到“MyEnum”,预期“str”)

如何在不添加“type:ignore”的情况下消除此错误?我还可以将 MyEnum.A 替换为 MyEnum.A.name 以使错误消失。但这看起来并不干净,并且 sqlalchemy 文档中也没有建议。

python sqlalchemy mypy

11
推荐指数
2
解决办法
5750
查看次数

如何构造ctype结构数组?

>>> from ctypes import *
>>> class A(Structure):
...  _fields_ = [('a', c_int), ('b', c_int)]
...  def __init__(self, x):
...   self.a = x + 1
...   self.b = x + 2
... 
>>> a = A(1)
>>> a.a
2
>>> a.b
3
>>> b = (A * 2)(1, 2)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: expected A instance, got int
Run Code Online (Sandbox Code Playgroud)

我试图在python中构造一个C结构数组,并希望为数组中的每个元素调用构造函数.我怎么能做到这一点?

python ctypes

4
推荐指数
1
解决办法
837
查看次数

标签 统计

python ×2

ctypes ×1

mypy ×1

sqlalchemy ×1