Python, исключающий нули из MySQL

#python #mysql #mysql-python #raspberry-pi-zero

#питон #mysql #mysql-python #малина-пи-зеро

Вопрос:

На самом деле я делаю проект будильника, используя pi zero. Итак, теперь проблема, когда код извлекает данные из MySQL, которые являются временем тревоги, он переходит в состояние if для сравнения с текущим временем. На самом деле это не работает, потому что выборка python не занимает много времени. Пример нулевого фронта был исключен… Если (6:45:00 == 06:45:00) ложь

Но после 10:00 все идет отлично.

 mycursor.execute("SELECT * FROM alarm WHERE status = 1")   myresult = mycursor.fetchall()   for x in myresult:  days = x[3].split(",")  days = filter(None, days)   for i in days:  if(i == day):  a = str(x[2])  print(type(a))  #alarm = a.strftime('%H:%M:%S')  print("Today = "  str(x[0]))  print(a)  print(str(now))  if(a==now):  print("Alarm Rings")  GPIO.setup(20, GPIO.OUT)  GPIO.output(20, GPIO.LOW)  GPIO.setup(21, GPIO.OUT)  GPIO.output(21, GPIO.LOW)  

Комментарии:

1. Непонятно, что now это такое.

2. Почему бы вам просто не сохранить время в базе данных с нулевым заполнением?

3. Немного больше объяснений, пожалуйста

4. Вместо этого поместите 06:45:00 в базу 6:45:00 данных .

5. Внутри базы данных 06:45:00, но только на python 6:45:00… Я также получаю данные о PHP… PHP так не делает

Ответ №1:

Удалите начальный ноль из now перед сравнением:

 if now[0] == '0':  now = now[1:] if a == now:  # rest of the code  

Комментарии:

1. Неужели это испортится, когда время будет выше 10:00:00? Я думаю, что нет

2. разве вы не видите if заявление? Он удаляет только первый символ, когда он 0 есть .