vadimeasy, тут ничего не поделаешь. Придётся придумывать какой-то маркер, показывающий, что дальше строк уже не будет. Можно сделать что-то типа "если нашли 10 пустых ячеек подряд - останов", но обязательно найдётся альтернативно одарённый, который сделает отступ в 20 строк для красоты и будет удивляться, что его строки не обрабатываются.
LordOftheCode, ну это зависит от того, как куки представлены в твоём файле. Тут я помочь не могу.
Это твоя забота - вытащить из файла куки для нужного сайта, и представить их в виде словаря "имя куки - значение куки", или в виде объекта CookieJar.
nikto_211, в документации по sqlite3 есть в самом начале примеры INSERT и SELECT, в том числе как получить результат запроса SELECT. А также предупреждение, как лучше вставлять значения из переменных в запрос. Всё это в первом разделе, до заголовка "Module functions and constants".
Что именно в этих примерах непонятно?
javedimka, ну в частных случаях, типа UI+worker, можно вытащить worker в отдельный поток малой кровью - в зависимости от сцепления между двумя подсистемами. Грубо говоря, если worker только читает исходные данные и только пишет в результат, то UI достаточно записать исходные данные до старта воркера и прочитать результат после его окончания. Если они сцеплены сильнее, например, есть индикация прогресса - то да, будет "веселее".
А вот с асинхронным кодом такое не прокатит, там всегда нужно рефакторить код в полностью асинхронный.
Всё выше - моё имхо, конечно же.
aquario-cloud, никак. Ты можешь использовать семафор, чтобы выполнялось не более N запросов одновременно. Может выполняться менее N, в зависимости от кучи обстоятельств.
Rotyin, задача CPU-bound, т.е. с упором на расчёты а не на ввод-вывод. Асинхронность как таковая тут не поможет, можно только вытащить часть кода в другой процесс с помощью asyncio.loop.run_in_executor() - это позволит выполнить длительную задачу, не останавливая цикл реактора асинхронной программы.
Иван Мельников, ну если специально делать всё, чтобы имитировать свойства одного типа связей средствами другого, то внезапно эти типы будут неразличимы. Это должно удивлять? =)
Если вопрос был "существует ли четкая граница между двумя типами связей", то ответ "нет, не существует". Но это не значит, что нельзя различать ситуации, в которых применяется один или другой тип.
sovsemnevajno, а в чем именно затруднение? Понятие глобальной переменной - это одно из базовых для программирования как такового, не то что питона. Если не знаком с основами, зачем берешься за нетривиальные вещи типа ботов?
Единственный пример, который можно тут дать, это написать готовый код, а это тупик.
sovsemnevajno, Как насчёт создать подключение при создании бота, сохранить его в глобальной переменной, и использовать эту переменную в обработчиках?
with полезен только если вам нужно гарантированно закрыть подключение, а так как оно у нас живет всё время жизни бота, это не актуально.
Курсор можно и пресоздавать, это не так долго.