@gostbeat

Как исправить ошибку?

rowlist = []
        conn = sqlite3.connect('D:\Bot_test\Bot TG\db\lazaw.db')
        cursor = conn.cursor()
        cursor.execute("select count(*) from USERS")
        rowlist = cursor.fetchall()
        rowlistcount = re.sub('[(,)]', rowlist).strip()


Ошибка именно в 5 строке: No value for argument 'string' in function call
  • Вопрос задан
  • 75 просмотров
Решения вопроса 1
hottabxp
@hottabxp Куратор тега Python
Сначала мы жили бедно, а потом нас обокрали..
1) В re.sub пропущен параметр;
2) Если я правильно понял, замените
rowlistcount = re.sub('[(,)]', rowlist).strip()
на
rowlistcount = re.sub('[(,)]','', str(rowlist[0])).strip()

3) Что-то мне подсказывает, что вы это не правильно делаете. Почитайте сначала, что такое списки, кортежи. Потом почитайте про sqlite3 в Python.

PS:rowlistcount = re.sub('[(,)]', rowlist).strip()
можно вообще удалить, и заменить на
print(rowlist[0][0])
PS2: Ошибка в строке 6.
PS3: Вопрос к телеграм не имеет ни единого отношения.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@o5a
Помимо уже указанного rowlist[0][0] (т.к. fetchall возвращает вложенный список)
Для возврата кол-ва строк можно напрямую использовать fetchone, даже без проверки, т.к. count(*) всегда возвращает значение
rowlist = cursor.fetchone()
rowlistcount = rowlist[0]
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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