Свързани въпроси '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 изгледи
schedule
01.01.2024
Как да използвате контекстен мениджър вътре в декоратор и как да предадете обект, създаден в декоратор, към декорирана функция
Имам тестов клас, който изисква да направя малко почистване в края. За да съм сигурен, че потребителят няма да забрави да направи това, искам да добавя контекстен мениджър към класа. Имам и декоратор, вътре в който искам да използвам този контекстен...
686 изгледи
schedule
29.10.2022
Съставяне на контекстен мениджър на Python: пъзел
Озадачен съм как да подредя всички неща, които контекстните мениджъри на Python могат да правят, на подходящите места.
Доколкото разбирам, елементите, които потенциално могат да влязат в изграждането на контекстен мениджър, включват:
О: Нещо,...
886 изгледи
schedule
31.03.2024
Мениджър на контекста за валидиране на данни
Опитвам се да обмисля добро решение за това и нищо не ми идва наум. Като упражнение се опитвам да създам контекстен мениджър, който ще обработва валидирането на данни, нещо като:
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