Nikolay
Ну елдит элементы последовательности
Это который старый простой yield, просто пачкой это делает. Мне интересно как в случае с корутиной больше.
Timur
А в чем проблема? strptime и вперёд
так и делается. но циферка мешает. она разная каждый раз в файликах, я не могу ж угадать что это за цифра, но мне на нее все равно
🍁 Jaŭhien
Это который старый простой yield, просто пачкой это делает. Мне интересно как в случае с корутиной больше.
С корутина елдит какое-то значение, то есть это генератор, значит по нему можно yield from'ом пройти и получить результат
Tishka17
Уже пару дней пытаюсь осилить, что это такое yield from. Кучу статей перечитал, конференции, блоги. Или это какая-то очень сложная штука или я тупой.
Это примерно тоже самое что for i in x: yield i, с двумя отличиями: так так же работает с smth = yield внутри твоего x и корректнее прокидывает исключения
🍁 Jaŭhien
Генератор-Корутина наоборот в себя потребляет данные извне.
Ну в твоем примере корутин нет, только генераторы
Timur
Не совсем понятно, поточнее опиши задачу.
ну вроде точно описал. попробую еще раз. вот есть файлы в названии с таким форматом. 2013-01-01.filename.{цифра}.txt цифра а названии рандомная совершенно, никак от даты не зависит. мне надо читать файлики в зависимости от даты. но я не знаю, у какой даты какая цифра, читать весь диск и все названия файлов чтобы сматчить так себе идея. хочу формировать как то правильно имя файла для чтения его.
🍁 Jaŭhien
Корутина как потребляет - так и отдает данные
Timur
Ну тогда ещё glob
glob просто мне список файлов выведет. а мне этого не надо
Timur
В смысле "выведет"?
а соррян, точно можно им попробовать
Alexander
Можно ли как-то ограничить время работы systemd сервиса?
Timur
Цифра тебе зачем?
цифра мне совсем не нужна. низачем. она просто есть в названии файла
Tishka17
Можно ли как-то ограничить время работы systemd сервиса?
В смысле, ограничить? Прибить через какое-то время?
Tigran
Елдит головного мозга
Alexander
Останавливать зависший сервис
Nikolay
это понятно.
🍁 Jaŭhien
да. Я об вот этом.
Это сложная для понимания штука) Генератор приостанавливается ровно в тот момент, когда встречает yield, то есть в выражении x = yield он отдаст значение до того, как выполнится присваивание. Таким образом на каждой итерации ты получаешь значение, которое ты запустил в генератор на прошлой итерации
Tishka17
Да
RuntimeMaxSec
Maxim
Скоро стримить буду. Через полчасика.
Alexander
RuntimeMaxSec
Спасибо, работает. (интересно, почему не смог нагуглить)
Nikolay
С такими вопросами хоть не в beginners чат идти ☺️
🍁 Jaŭhien
🍁 Jaŭhien
yield from не передает данные в генератор, он их получает
Nikolay
Ну пишут же что-то вроде так: x = yield from some_obj.method()
️Skill
Помогите переписать код с пхп на питон
🍁 Jaŭhien
Ну пишут же что-то вроде так: x = yield from some_obj.method()
Ну значит method() - это генератор, по которому можно итерироваться
🍁 Jaŭhien
На гитхабе полно таких семплов.
Это, наверное asyncio из питона 3.4)
Vadym
Есть два потока: GUI и поток который запускает некую логику . Как я могу остановить оба потока и завершить выполнение программы при нажатии на кнопку в интерфейсе. Помогите пожалуйста.
Vadym
То есть, главный поток и два дочерних?
Дочерний поток один, а так да
Tishka17
Pyqt5
app.terminate()?
████████████
Где лежит entrypoint - там корень твоего проекта, все что ниже - не видно
Спасибо, теперь все работает! 😁😁 Окончательный вариант решения прикладываю
Nikolay
Ну значит method() - это генератор, по которому можно итерироваться
def generator() - не генератор? ps. Ничего не принтит.
Vadym
app.terminate()?
'Ui_MainWindow' object has no attribute 'terminate'
Vadym
понял, сейчас попробую, как ты сказал
🍁 Jaŭhien
def generator() - не генератор? ps. Ничего не принтит.
Ты запустил yield from в цикле, это неправильно. yield from идет по генератору до тех пор, пока тот не закончится
🍁 Jaŭhien
А он у тебя не заканчивается
🍁 Jaŭhien
Дай сам проверю, а то боюсь ты меня сейчас запутаешь)
Nikolay
Ты запустил yield from в цикле, это неправильно. yield from идет по генератору до тех пор, пока тот не закончится
Убрал бесконечный цикл в main, сделал условие выхода из лупа в generator. Ничего не поменялось
🍁 Jaŭhien
погоди
🍁 Jaŭhien
итерироваться нужно по yield from
Anonymous
Как в vscode заменить одинаковый текст/переменную во всём коде сразу?
Vadym
Я где-то сказал window?
не могу понять методом чего именно является .terminate()
🍁 Jaŭhien
чет я туплю, надо лутца перечитать)
🍁 Jaŭhien
все, я понял, yield from тоже делает генератор из функции
🍁 Jaŭhien
значит main() - теперь тоже генератор
🍁 Jaŭhien
и по нему нужно итерироваться
🍁 Jaŭhien
и main() будет елдить то, что елдит generator()
Diartify
c.execute('UPDATE clicks SET click = {} WHERE data = {}'.format(str(0+1), '14.04.2019')) чет в базу не вбивается пишет: TypeError: 'int' object is not callable тип столбца INTEGER помогите пожалуйста
Diartify
НИКОГДА НЕ ЮЗАЙ FORMAT для sql
че тогда закрывать ковычки и между ними вбивать?
Diartify
тогда как?
Tishka17
Открой примеры
🍁 Jaŭhien
Prepared queries
In [10]: def generator(): ...: val = 0 ...: while 1: ...: yield val ...: val += 1 ...: if val == 10: ...: break ...: In [11]: def main(): ...: yield from generator() ...: In [12]: for i in main(): ...: print(i, end=' ') 0 1 2 3 4 5 6 7 8 9