Bogdan (SirEdvin)
Асинхронщина
PollyCode
в твоем случае лучше асинхронка
Bogdan (SirEdvin)
PollyCode
треды лучше использовать если есть тесное общение между потоками и есть использование i/o
Tishka17
Или когда вообще независимые части
Tishka17
Короче, речь была о том, что плюс asyncio не так очевиден
Tishka17
Tishka17
И да, почему вы сразу о тредах. Есть процессы
løst
с языка снял
Bogdan (SirEdvin)
Tishka17
И кстати, кто-то из присутствующих гонял тесты, на каком числе параллельных задач с i/o появится заметное ускорение от использования корутин вместо тредов/процессов?
Oleg
Oleg
løst
кто за тайпинг шарит?
løst
как можно указать аннотацию что лист возвращает только 1 элемент?
løst
или достаточно бредовая затея?
Oleg
Oleg
можешь пример кода привести?
løst
длина = 1
Oleg
а зачем такой list нужен?
Oleg
ну если уж надо то используй tuple
Oleg
list сам по себе может быть любой длины. Поэтому такого тайпхинта существовать не может
Oleg
Tuple[int]
løst
ну это я знаю...
Oleg
а зачем тебе именно mutable коллекция из одного элемента?
løst
метод выплёвывает List[Dict]
løst
но, в каких-то краевых случаях я знаю что будет всего 1 дикт внутри
Oleg
и где тебе тогда нужен такой тайпхинт?
Oleg
если метод может возвращать список больше чем из одного элемента, то текущий тайпхинт у него верный
løst
наверное, перемудрил)
Oleg
Можно переделать метод чтобы он возвращал Union[List[Dict], Dict], но в коде потом все равно придется делать проверку на то какой тип вернулся. Так что смысла в этом нет, проще провереть длину list'а
Oleg
если возвращаемы тип зависит от типа входных параметров, то можно еще @overload использовать
Tishka17
Есть кстати безумная идея
Tishka17
Типы с ограничениями по допустимым значениям
Tishka17
Например, что какая-то целая переменная бывает только от 1 до 100. Или список с длиной не больше 5
Bogdan (SirEdvin)
Литералы есть, в екстеншинах
Tigran
Добро пожаловать в контрактное программирование
Tishka17
Tishka17
Tishka17
Гляну
Aragaer
уже началось первое апреля и теперь это чатик контрактного программирования?
Oleg
да, литералы в одной из последних версий mypy завезли
Tishka17
уже смотрю, да
Tishka17
чет похоже на enum
Bogdan (SirEdvin)
Tishka17
кажется, слабовато это пока
Oleg
в общем сомнительная вещь
Oleg
для bool'ов совместно с @overload, наверное, можно использовать
Oleg
если в зависимости от значения bool может быть недопустимо использование других аргументов или меняется возвращаемый тип
Andrey
Oleg
Oleg
зависимость возвращаемого типа от типа аргументов
Pavel
Hello all!I have this wall of text.
Pavel
Archive(r'CUsers\***\Desktopen-ro-rarcab1.cab').extractall(r'CUsers\***\ktopen-ro-rar')
Archive(r'CUsers\***\Desktopen-ro-rarcab2.cab').extractall(r'CUsers\***\ktopen-ro-rar')
Archive(r'CUsers\***|Desktopen-ro-rarcab3.cab').extractall(r'CUsers\***\ktopen-ro-rar')
Pavel
And these are only three archives.Can I shorten it somehow? for example that the like
Pavel
Archive(***** cab1,cab2,cab3)extractall(****)
Pavel
Да чтож такое +) опять ошибся чатом
Pavel
тут же по русски -)
Tishka17
Tishka17
это powershell?
Pavel
ЧЗХ?
ну это указание на на архив в папке
Pavel
Tishka17
хз что за Archive
Tishka17
и зачем пиать инсталлятор на питоне
Tishka17
хочется уточнить, а зачем тебе распаковывать инсталлятор?ё
Oleg
Pavel
Tishka17
Tishka17
pyunpack зависит от patool, а вот его сорцы:
https://github.com/wummel/patool/blob/master/patoolib/__init__.py#L140
https://github.com/wummel/patool/blob/master/patoolib/programs/cabextract.py
Tishka17
предлагаю посомтреть что сам cabextract умеет