我無法弄清楚這一點,並花了相當多的時間在這裏查看問題和答案,但似乎沒有什麼比較合適的。從數據庫查詢創建類實例 - 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