👑OGURCHIK🖤
просто вот тут пусто не отправляет
kallibr44
А в user что хранится
kallibr44
print() сделай
👑OGURCHIK🖤
kallibr44
я про сами данные
kallibr44
Либо проводи дебаг в точке await
👑OGURCHIK🖤
👑OGURCHIK🖤
первый если селект ничего не дал
kallibr44
Вот
kallibr44
Видишь
kallibr44
Значит не None значение
👑OGURCHIK🖤
🤔
kallibr44
А просто пустой список
kallibr44
Измени проверку на if len(users)>0
👑OGURCHIK🖤
значит нон это только если fetchone
kallibr44
kallibr44
Потому что при fetchone он делает переменную типа (tuple)
kallibr44
А при fetchall list(tuple,tuple...)
kallibr44
Как я понял
Tishka17
Ivan
есть другой вопрос. наверняка изъезженный.
для чего брать именно питон?
какие задачи вы решаете с помощью этого языка?
пока я его для небольшой автоматизации юзаю. подходит супер.
Denis
Институтские лабы на нем делаю, подходит супер
Alex
Ivan
например?))
Tigran
и зачем нам тут эта херня?
Anonymous
Пиздец
Aragaer
вот да, зачем?
Tigran
выглядит как реклама канала
Andrey
Aragaer
ну то есть если ты пишешь на питоне, то это все уже и так на подкорке
Дмитрий
Сорри, не туда отправил
Tigran
👌🏼
Anonymous
Danylo
Гайз, всем привет) пишу небольшой скрипт на asyncio, в процессе работы для доступа к БД использую asyncpg; недавно возникла задача сделать довольно объемный запрос в базу и для каждого элемента выборки выполнить некую очередь проверок, после чего в случае необходимости удалить элемент, для которого вся эта катавасия происходила) Как такое лучше всего спроектировать? Заранее спасибо)
Alex
Danylo
ЯННП
Пардон) нужно еще объяснение?
Alex
Vadim
Ребят, jupyter. Не вижу toolbar, toggle toolbar не работает, что делать?
Alex
в чем собственно проблема?
Alex
Amaro
Vadim
Да
Amaro
Может, экстеншн какой неудачный включили?
Amaro
А в юпитере блокнот открыт или .py файл? Если файл, то тулбара нету. По-определению.
Vadim
Danylo
в чем собственно проблема?
для этого дела я юзаю cursor и конструкцию вида:
async for r in conn.cursor(query):
await do_something(r)
где do_something() - набор действий по обработке одного элемента выборки; но этот код жутко тормозит; как его ускорить (или перестроить), дабы исполнение было не последовательным, а конкуррентным?
Alex
Unat
Alex
ты ведь осознаешь что “конкуррентное” выполнение тебе прироста в скорости не даст (что бы ты под этим не подразумевал)
Unat
сразу сотнями тащи
Unat
А вообще, запусти профилировщик и посмотри где тормоза
Danylo
Максим
Кстати, HTTP по одному запускать не эффективно будет. Выгоднее асинхронно запустить, как сказал человек выше, всё.
Максим
ну или большими кусками
Unat
У тебя проблема в том, что async/await сам по себе ничего тебе не ускорит, у тебя цикл остался синхронный - взять 1 элемент, дождаться окончания проверки, взять следующий элемент.
Danylo
оокей, спасибо большое
Alex
оокей, спасибо большое
и тут @nepherpitou тоже прав. тебе нужно вытаскивать результаты запроса не по одному а запускать пачками.
Vadim
UPD. Проблема была в теме юпитера. Чтобы был тулбар надо писать аргумент -T
Amaro
Хочу темную тему Юпитера =) Где брать?
Alex
оокей, спасибо большое
собственно я бы на твоем месте вытаскивал результаты запроса и клал бы их в очередь, после чего в другом таске эту очередь читал бы и делал запросы.
таким нехитрым образом можно обеспечить постоянную обработку запросов и ограничить количество одновременных запросов до желаемого.
Anonymous
Кто-нибудь знает, какие инструменты хорошо реализовать в корпоративном чат-боте?
Vladimir
Стебаков
Что нужно ввести в списках, что бы вывело сколько букв в каждом слова того же списка? Не получается что-то.
Aragaer
map(len, teh_list)?
Aragaer
>>> teh_list = ['word', 'another', 'hello', 'world']
>>> list(map(len, teh_list))
[4, 7, 5, 5]
Anonymous
Стебаков
Не ну реально стремная ссылка.
Anonymous
Anonymous
Стебаков
Anonymous
[len(word) for word in teh_list]
Aragaer
то же самое