@OlegUnity

TypeError: 'NoneType' object is not subscriptable SQlite 3 (1,) В чем проблема?

def license(ID):
  try:
    lock.acquire(True)
    sql.execute(f"SELECT LIC FROM users WHERE ID = '{ID}'")
    #print(sql.fetchone())
    if print(sql.fetchone()) == None:
      return 0#Нет ЛИЦ
    elif print(sql.fetchone()[0]) == 1:
      print('da')
      return 1#Есть ЛИЦ
    else:
      return 0#Нет ЛИЦ
  finally:
    lock.release()

Делаю проверку но не тут то было, пишет это:
elif print(sql.fetchone()[0]) == 1:
TypeError: 'NoneType' object is not subscriptable
Но если без [0] то он число 1 тупо не видит. Как разобраться?
  • Вопрос задан
  • 1260 просмотров
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
Читаем документацию:

Fetches the next row of a query result set, returning a single sequence, or None when no more data is available.

То есть первый вызов fetchone в if print(sql.fetchone()) == None: возвращает результат, а второй в elif print(sql.fetchone()[0]) == 1: уже нет.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@datasciencetraining
Visit ti know more for above information: typeerror nonetype object is not subscriptable
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы