Свързани въпроси 'contextmanager'

py.test - как да използвате контекстен мениджър във funcarg/fixture
Тясно свързано: В Python има ли добър идиом за използване на контекстни мениджъри в setup/teardown Имам контекстен мениджър, който се използва в тестове за коригиране на часа/часовата зона. Искам да го имам в pytest funcarg (или fixture,...
6479 изгледи
schedule 19.09.2022

__init__ срещу __enter__ в контекстните мениджъри
Доколкото разбирам, __init__() и __enter__() методите на контекстния мениджър се извикват точно веднъж, един след друг, без да се оставя никакъв шанс за друг код да бъде изпълнен между тях. Каква е целта на разделянето им на два метода и какво...
22447 изгледи
schedule 28.09.2022

fabric: работа с cd() в помощни функции
В fabric мениджърът на контекста cd работи като with cd("dir"): run("command") и командата ще бъде изпълнена след промяна в директорията dir . Това работи добре, но проблемът е, че използва глобално състояние. Да предположим...
296 изгледи
schedule 12.11.2022

Как да използвам сокет в Python като контекстен мениджър?
Изглежда, че би било съвсем естествено да се направи нещо като: with socket(socket.AF_INET, socket.SOCK_DGRAM) as s: но Python не имплементира контекстен мениджър за сокет. Мога ли лесно да го използвам като контекстен мениджър и ако да, как?
20612 изгледи
schedule 31.12.2023

Изявлението *with* на Python точно еквивалентно ли е на блок try - (except) - finally?
Знам, че това беше широко обсъждано, но все още не мога да намеря отговор, за да потвърдя това: изразът with идентичен ли е с извикването на същия код в блок try - (except) -finally, където каквото човек дефинира във функцията __exit__ на...
5978 изгледи
schedule 13.01.2024

Дефинирайте контекстни променливи в behave python
Понякога трябва да дефинирате стойности динамично (като дата и час сега, произволни низове, произволни цели числа, съдържание на файлове и т.н.) и да ги използвате в различни стъпки, без да сте изрични или твърдо да кодирате стойността. И така,...
7123 изгледи

Как да използвате контекстен мениджър вътре в декоратор и как да предадете обект, създаден в декоратор, към декорирана функция
Имам тестов клас, който изисква да направя малко почистване в края. За да съм сигурен, че потребителят няма да забрави да направи това, искам да добавя контекстен мениджър към класа. Имам и декоратор, вътре в който искам да използвам този контекстен...
686 изгледи

Съставяне на контекстен мениджър на Python: пъзел
Озадачен съм как да подредя всички неща, които контекстните мениджъри на Python могат да правят, на подходящите места. Доколкото разбирам, елементите, които потенциално могат да влязат в изграждането на контекстен мениджър, включват: О: Нещо,...
886 изгледи

Мениджър на контекста за валидиране на данни
Опитвам се да обмисля добро решение за това и нищо не ми идва наум. Като упражнение се опитвам да създам контекстен мениджър, който ще обработва валидирането на данни, нещо като: validation = lambda x: len(x) <= 10 with...
297 изгледи
schedule 14.05.2024

Python: Как правилно да създавате и унищожавате ресурси с помощта на модела на дескриптора на contextmanager
Изпълнявам създаването и унищожаването на ресурси по следния начин: import weakref class Context(object): def __init__(self): self.resource = object() # sample resource creation def __del__(self): self.resource = None #...
212 изгледи
schedule 19.05.2024