我无法弄清楚这一点,并花了相当多的时间在这里查看问题和答案,但似乎没有什么比较合适的。从数据库查询创建类实例 - Python
我有一个类定义为传感器创建一个实例,持有各种属性和功能。
在数据库中,我已定义连接的传感器。现在,如果有三个传感器,我不得不这么像这样...
sensor1 = Sensor(1)
sensor2 = Sensor(2)
sensor3 = Sensor(3)
我想这样做的是通过迭代数据库,返回所有定义的传感器(很容易的),然后创建基于该列表的类的实例。
我无法弄清楚如何采取一个SQLite查询的结果,并使其成为类实例的名称...
con = sqlite.connect('temp.db')
with connection:
cur = connection.cursor()
cur.exectute('SELECT Sensor_Id FROM Sensors')
sensors = cur.fetchall()
# I want to do something like this. The right side of the statement is correct, but how
# can I make the left side of the assignment be dynamic based on SQL result?
for n in sensors:
***sensorN*** = ClassName(n[0])
基本上我需要创建一个类的实例的X号,其中X是数据库表中定义每个传感器的行数。
这一个让我感到莫名其妙 - 先谢谢了!最后一个选项的
你想要左侧是什么?如果它是Sensor_Id,您可以使用像sensorObjs [n [0]] – user3885927 2014-10-10 23:40:14
这样的字典为什么不将它们存储在列表中? 'the_sensors = [传感器中n为[ClassName(n [0])]' – jacg 2014-10-10 23:46:49
左侧我想成为从数据库派生的实例名称。数据库中的Sensor1将创建一个名为sensor1 = SensorClass(),sensor2 = SensorClass()等的新实例。 – 2014-10-10 23:58:16