Повторно выбрать последние данные из базы данных, используя Python

Обрезка изображения на C # очень проста.

Пример ниже - способ обрезать изображение на C #.

var filename = @"c:\personal\images\horizon.png";
var img = Image.FromFile(filename);
var rect = new Rectangle(new Point(0, 0), img.Size);
var cloned = new Bitmap(img).Clone(rect, img.PixelFormat);
var bitmap = new Bitmap(cloned, new Size(50, 50));
cloned.Dispose();
1
задан DateMike 18 January 2019 в 16:43
поделиться

2 ответа

Я подозреваю, что это не полный ответ, но это слишком долго, чтобы оставлять комментарии. Создайте список словарей:

data = []
c.execute("""SELECT * FROM system_info ORDER BY pi_id DE0SC LIMIT 1""")
headers = [item[0] for item in c.description] # List comprehension
for row in c.fetchall():
    data.append([dict(zip(headers, row)])

Это запустит запрос один раз и выдаст список словарей, которые вы можете использовать для доступа к значениям по ключу. В существующем состоянии нет реальной необходимости перебирать строки, поскольку у вас есть LIMIT 1, но это масштабируется.

0
ответ дан roganjosh 18 January 2019 в 16:43
поделиться

Мне удалось получить требуемые результаты, закрыв соединение с БД, а затем снова подключившись в начале цикла While:

#Begin Script Infinitely
while True:

    #Connect/Re-connect to database
    db = MySQLdb.connect(host, user, password, schema)

    #Define Cursor
    curs = db.cursor()

    #Gather Values from Database
    curs.execute(sqlT)
    lastT = curs.fetchone()
    for Temp in lastT:
        temp_reading = Temp
    curs.execute(sqlH)
    lastH = curs.fetchone()
    for Hum in lastH:
        hum_reading = Hum
    curs.execute(sqlDI1)
    lastDI1 = curs.fetchone()
    for DI1 in lastDI1:
        DI1_reading = DI1       
    curs.execute(sqlDI2)
    lastDI2 = curs.fetchone()
    for DI2 in lastDI2:
        DI2_reading = DI2
    curs.execute(sqlDI3)
    lastDI3 = curs.fetchone()
    for DI3 in lastDI3:
        DI3_reading = DI3
    curs.execute(sqlDI4)
    lastDI4 = curs.fetchone()
    for DI4 in lastDI4:
        DI4_reading = DI4
    curs.execute(sqlDI5)
    lastDI5 = curs.fetchone()
    for DI5 in lastDI5:
        DI5_reading = DI5
    curs.execute(sqlDI6)
    lastDI6 = curs.fetchone()
    for DI6 in lastDI6:
        DI6_reading = DI6
    curs.execute(sqlDI7)
    lastDI7 = curs.fetchone()
    for DI7 in lastDI7:
        DI7_reading = DI7
    curs.execute(sqlDI8)
    lastDI8 = curs.fetchone()
    for DI8 in lastDI8:
        DI8_reading = DI8   

    #Close Cursor
    curs.close()

    #Disconnect from Database
    db.close()

    #Print Values
    print(temp_reading)
    print(hum_reading)
    print(DI1_reading)
    print(DI2_reading)
    print(DI3_reading)
    print(DI4_reading)
    print(DI5_reading)
    print(DI6_reading)
    print(DI7_reading)
    print(DI8_reading)

    #Rest so Values change
    sleep(60)

Спасибо @ Iandru27 и @Rick James за разъяснение этой идеи. [ 112]

Теперь, чтобы все было аккуратно, чтобы оно не было таким запутанным / повторяющимся.

Благодаря

0
ответ дан DateMike 18 January 2019 в 16:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: