T
какое странное имя у переменной 🧐 (haHAA)
Артём
Semyon
В команду Rutube ищем Middle - Senior Python разработчиков. Зарплатная вилка: 100-220 в зависимости от компетенций От Вас ждем следующие навыки и знания: Опыт разработки высоконагруженных web-проектов на python от 2-х лет. Желателен опыт работы с Django, Django Rest Framework, Celery. Опыт работы с реляционными базами данных и хорошие знания SQL. Общие задачи: Разработка серверной части видеохостинга: Разработка High-load бек-энда сайта; Участие в оптимизации и качественном улучшение бек-энд кода; Участие в реформировании архитектуры проекта; Поддержка и разработка бек-офиса и внутренних сервисов; Видеоотдача, конвертация, и всё, что с ней связано; Unit-тесты. Условия: Активный и амбициозный коллектив, который любит свой продукт и активно его развивает. Заработная плата полностью белая. Уровень готовы обсудить индивидуально. ДМС после испытательного срока. Работаем в лофте недалеко от м. Краснопресненская #работа #офис #москва
Semyon
Вопросы и рекомендации в личку, спасибо!
Ilya
my_dict = defaultdict(set) for record in data: my_dict[tuple(record[:5])].add(record[5])
Что-то тут не так или я не так понимаю import collections юзнул и my_dict = collections.defaultdict(set) Но что-то там пусто получается defaultdict(<class 'set'>, {('.', '.', '.', '.', '.'): {'.'}}) Чтоя дела. не так
Nikolay
🌚
B
Покажите кусочек data. Или одну record.
Ilya
Покажите кусочек data. Или одну record.
мой косяк, не в том файле бегал Вроде что-то проиходит, разбираюсь -- Посмотрел, получилось интересно, индексы чуть подфиксил Теперь надо разобраться как работать с этим defaultdict
️Skill
нужно отправить файл с именем из памяти используя io.BytesIO в telegram чат. Но используя f.name = 'file name' отправляется с стандартным именем unnamed. Как можно по другому сделать?
️Skill
https://i.imgur.com/BxtDtnz.png
️Skill
https://i.imgur.com/bzV2olf.png
Dogma
Которой общаешься с телегой
️Skill
в telethon нет ничего такого
brestows
Ребят как граммотно строку '0' перевести в bool ?
brestows
bool(int('0'))
brestows
нормально или костыль ?
Aragaer
the_string != '0'
🍁 Jaŭhien
ты же сишник, '0' != the_string
Aragaer
это жависты так делают
Stepan
Хелпер-функцию try_bool с return obj in ["0", "False", "false"]
Stepan
и прочим
Co(n)stantine👨‍🔬
это жависты так делают
но все юзают String.equals() 🤔
Aragaer
но тоже так - !"0".equals(the_string)
Aragaer
а в си кстати strcmp(the_string, "0") было бы
Aragaer
причем без !, потому что strcmp возвращает 0 при равенстве, не 0 при различии
Aragaer
не, ну на си можно сделать и *the_string != '0' || the_string[1]
Ilya
о пока печатал пофиксили :) А видос дома посмотрю :)
️Skill
как его использовать? botcl.send_file('usbuse', f, attributes=['ggg.exe']) не работает
️Skill
всет равно без названия
Алексей
Использую datetime.isoformat(), а как вернуть его обратно в datetime без сторонних либ? python 3.6
Алексей
datetime.strptime()?
А какой там формат?
Igor
%S.%f вместо $S
Алексей
О, спасибо!
Igor
а возможно ли создавать свои type hints с кастомными проверками, а-ля "это dict в котором есть поле xxx со значением отвечающим регулярке xxx_[\w\d]+_\d\d\d" ? или я желаю странного, и это задача не хинтов, а конструкции объектов из словарей?
Bogdan (SirEdvin)
Мне кажется, очень странного
Bogdan (SirEdvin)
В 3.8 подвезут typing.TypedDict, но проверять поля по регуляркам странноватая идея, кмк
Igor
конкретно задача: ворочать json'ами прилетающими из веба в ответ на дёргание api. Хочется показать, что такая-то функция ожидает словарь такого-то вида, но не очень хочется под все возможные словари заводить кучу классов
Aragaer
/me тычет пальцем в тишкины датаклассы
Aragaer
но вообще, есть jsonschema для валидации такого
️Skill
как можно отправить файл event.respond?
️Skill
т,к ошибка was never awaited
Igor
/me тычет пальцем в тишкины датаклассы
в кого? jsonschema гляну, спасибо
️Skill
Будет работать await file = client.upload_file()?
️Skill
Как нужно?
B
конкретно задача: ворочать json'ами прилетающими из веба в ответ на дёргание api. Хочется показать, что такая-то функция ожидает словарь такого-то вида, но не очень хочется под все возможные словари заводить кучу классов
Содержимое словаря определяется динамически (взаимодействуя с клиентом) в рантайме, а тайп хинтинг - вещь предназначенная, по моему мнению, больше для статического анализа. Вам нужны валидаторы схемы json, как уже сказали.
Igor
спасибо соответственно, проверять хинтами формат строчек в параметрах - тоже так себе идея, да?
B
спасибо соответственно, проверять хинтами формат строчек в параметрах - тоже так себе идея, да?
Если строчки получаются откуда-то снаружи, то хинты в такой роли однозначно неприменимы, тут опять же речь идёт о схеме. Если речь о каком-то внутреннем представлении данных, по сути отдельном типе, то тут и реализовывать стоит отдельным типом (классом).
Aragaer
ну можно делать тайпхинты на датаклассы, а датаклассы получать сериализацией из жсонов
Aragaer
то есть иметь в каком-то одном месте "небезопасный" кусок, а потом оттуда датаклассы и все ок
Юрий
кто пользуется djaneiro плагином в pycharm? я его установил, а он в шаблонах .html не хочет работать, как его заставить работать в шаблонах?
Anonymous
#работа #вакансия #backend #python #senior #офис Локация #москва #мск #добрынинская #павелецкая Зп 100-220к net. Всем привет! Ищу Senior Python разработчика в компанию-лидер на рынке онлайн бронирования экскурсий. Развивают современный веб-портал, который специализируется на необычных индивидуальных экскурсиях от местных жителей в 490+ городах мира, которые позволяют не только узнать историю города, но и погулять по крышам, галереям современного искусства, секретным барам или взять мастер-класс у местного шеф-повара. Компания на рынке уже 6 лет, давно монетизирована, но внутри легкая и приятная атмосфера стартапа:) Что нам интересно в вас? • Отличное знание Python, Django, MySQL, опыт работы с Elasticsearch; • Базовый опыт работы с JavaScript; • Опыт работы в массовых интернет-сервисах для конечных пользователей; • Опыт работы в командах с отлаженными процессами разработки. Будут плюсом примеры кода или ссылка на профиль на GitHub. Условия: • Оформление по ТК; • Гибкий график работы; • Офис недалеко от м. Добрынинская/Павелецкая; • Работа над классным продуктом, который любят путешественники; • Работа в небольшом дружном коллективе. Контакты @esorokina, 8 (925) 096-45-97 Пишите в ЛС)
Vladimir
#работа #вакансия #backend #python #senior #офис Локация #москва #мск #добрынинская #павелецкая Зп 100-220к net. Всем привет! Ищу Senior Python разработчика в компанию-лидер на рынке онлайн бронирования экскурсий. Развивают современный веб-портал, который специализируется на необычных индивидуальных экскурсиях от местных жителей в 490+ городах мира, которые позволяют не только узнать историю города, но и погулять по крышам, галереям современного искусства, секретным барам или взять мастер-класс у местного шеф-повара. Компания на рынке уже 6 лет, давно монетизирована, но внутри легкая и приятная атмосфера стартапа:) Что нам интересно в вас? • Отличное знание Python, Django, MySQL, опыт работы с Elasticsearch; • Базовый опыт работы с JavaScript; • Опыт работы в массовых интернет-сервисах для конечных пользователей; • Опыт работы в командах с отлаженными процессами разработки. Будут плюсом примеры кода или ссылка на профиль на GitHub. Условия: • Оформление по ТК; • Гибкий график работы; • Офис недалеко от м. Добрынинская/Павелецкая; • Работа над классным продуктом, который любят путешественники; • Работа в небольшом дружном коллективе. Контакты @esorokina, 8 (925) 096-45-97 Пишите в ЛС)
Трипстер поди?
Nikolay
Впервые слышу о таком "лидере" рынка
Vladimir
Впервые слышу о таком "лидере" рынка
https://tripster.ru/ — я же просто предположил. Кадровики обычно не отвечают на такие вопросы.
Anonymous
Matt
есть какая-нибудь библиотека, где можно шаблоны гимпа редактировать? просто текст изменять нужно
tfhx8
в re.sub как то можно помимо заменяемого слова вставить еще найденного? Тоесть при замене сделать match \1 ?
Aragaer
>>> re.sub('(a+b)', r'\1!\1!', 'test abracadabra') 'test ab!ab!racadab!ab!ra'
Aragaer
аналогично, только без первого аргумента
Aragaer
>>> my_re = re.compile('(a+b)') >>> my_re.sub(r'\1!\1!', 'test abracadabra') 'test ab!ab!racadab!ab!ra'
tfhx8
благодарю!)
Aragaer
то есть компилится только паттерн поиска, паттерн замены остается строкой
tfhx8
>>> my_re = re.compile('(a+b)') >>> my_re.sub(r'\1!\1!', 'test abracadabra') 'test ab!ab!racadab!ab!ra'
а r в compile не обязатально? Кстати если во втором аргумеенте r убрать, то уже работать не будет.
Artöm
Artöm
Без r нужно \ экранировать
tfhx8
понял
tfhx8
кто нибудь может подсказать, numpy как то для веб используют?
Dmytro
🤔
Aragaer
ну то есть без r надо будет писать \\1