Size: a a a

2021 November 13

Б

Боброний in PiterPy Meetup
Ну вот да. Как-то очень странно писать “у нас не работает пока with, генераторы и асинхронщина” и при этом не упомянуть, что не работает даже try/except
источник

Б

Боброний in PiterPy Meetup
Из changelog к 1.0:
Experimental try..except statements, stacked exception handlers and exception filtering. Disabled by default

А как включить не написали
источник

e

esp in PiterPy Meetup
может оно включается флагами при компиляции.
источник

Б

Боброний in PiterPy Meetup
if (!g_pyjionSettings.exceptionHandling)
   return IncompatibleOpcode_WithExcept;
источник
2021 November 14

EH

Eraser Head in PiterPy Meetup
Контекст менеджер - не обертка над try/except. Более того, блок exit КМ не отработает, если при выполнении кода в КМ возникнет исключение
источник

e

esp in PiterPy Meetup
Как не отрабатывает, если вся суть менеджера контекста именно в этом? В exit приходит то самое исключение.

https://www.python.org/dev/peps/pep-0343/
источник

EH

Eraser Head in PiterPy Meetup
И ваш ексит падает
источник

EH

Eraser Head in PiterPy Meetup
Немного ошибся, мой кейс верный только для декоратора contextmanager.

Блок exit выполняется, да, но затем падает.

Но все-таки есть отличие от try-except - CM это отдельная сущность, которая ещеи что-то передает в контекст
источник

DB

Dima Boger in PiterPy Meetup
источник

EH

Eraser Head in PiterPy Meetup
В теле CM как раз стоит писать try/exccept
источник

e

esp in PiterPy Meetup
В exit приходит исключение. Его можно скрыть, вернув True из exit. Если из exit возвращается False или None, исключение будет поднято, но код в exit выполнится в любом случае.
источник

EH

Eraser Head in PiterPy Meetup
А contextlib.contextmanger - урезанная версия, получается?
источник

EH

Eraser Head in PiterPy Meetup
Там, после елда, ничего не выполнится
источник

DB

Dima Boger in PiterPy Meetup
At the point where the generator yields, the block nested in the with statement is executed. The generator is then resumed after the block is exited. If an unhandled exception occurs in the block, it is reraised inside the generator at the point where the yield occurred. Thus, you can use a try…except…finally statement to trap the error (if any), or ensure that some cleanup takes place. If an exception is trapped merely in order to log it or to perform some action (rather than to suppress it entirely), the generator must reraise that exception. Otherwise the generator context manager will indicate to the with statement that the exception has been handled, and execution will resume with the statement immediately following the with statement.
источник

DB

Dima Boger in PiterPy Meetup
Там просто немного другой интерфейс
источник

EH

Eraser Head in PiterPy Meetup
Ага, я как раз так и делал с try/finally
источник
2021 November 16

TT

Tatsiana Tsygan in PiterPy Meetup
Всем привет 🖖🏻
Врываюсь в ваш уютный чатик сразу с бомбической новостью про Python
источник

SS

Sergey Sokolov in PiterPy Meetup
/trust
источник

[

[Shieldy] PiterPy Me... in PiterPy Meetup
Принято!
источник

TT

Tatsiana Tsygan in PiterPy Meetup
Переслано от Tatsiana Tsygan
Всем привет 🥳

Как бы то ни было, online способствует «дотянуться» до крутых экспертов в Python😉
⏰ 18 ноября в 19:00 встречаемся онлайн вместе с Minsk Python Meetup и экспертами из QIWI, Dropbox и Orca Security и обсуждаем фичи по шаблонизации, конфигурациию сервисов и Python-решения для cybersecurity

Программа:
📌 Сказ о том, как мы Python-микросервисы для облака шаблонизировали — Олег Чуркин, Development Lead, QIWI
📌 Several CPython Security Issues —Benjamin Peterson, Dropbox, Core developer of CPython and PyPy
📌 Leveraging graphs to answer cyber security questions using Python — Eden Marco, Software Engineer, Orca Security

После каждого доклада пройдут Q&A-сессии, где спикеры ответят на вопросы участников митапа.

Половина встречи будет на английском🇬🇧, так что это отличный способ прокачать свой навык.

Встречаемся онлайн!
Регистрация обязательнаРегистрация обязательна, чтобы получить ссылку на трансляцию!

До встречи 18 ноября в 19:00 (четверг на этой неделе)
источник