Вопросы по теме 'contextmanager'
Можно ли создать контекстно-зависимый менеджер контекста Python, который сохраняет, изменяет и восстанавливает состояние?
У меня есть пара функций Python, которые в настоящее время переворачивают глобальную переменную между двумя значениями. Я хотел бы превратить их в контекстные менеджеры, чтобы я мог использовать их как блоки with , устанавливая переменную внутри...
2491 просмотров
schedule
01.06.2023
Перехват исключения в менеджере контекста __enter__()
Можно ли обеспечить вызов метода __exit__() , даже если в __enter__() есть исключение?
>>> class TstContx(object):
... def __enter__(self):
... raise Exception('Oops in __enter__')
...
... def __exit__(self, e_typ, e_val,...
19988 просмотров
schedule
17.02.2023
Многострочный с предложением в Python
Как я могу распределить длинное предложение with в Python на несколько строк? Прямо сейчас у меня есть
with self.context_manager_one(some, parameters, that, are, passed) \
as return_value_one, \...
1384 просмотров
schedule
16.06.2023
Файл открывается и закрывается в python
Я читал, что когда файл открывается в формате ниже
with open(filename) as f:
#My Code
f.close()
явное закрытие файла не требуется. Может кто-нибудь объяснить, почему так? Кроме того, если кто-то явно закроет файл, будет ли это иметь...
37594 просмотров
schedule
02.04.2023
Соглашение об именах для классов диспетчера контекста (с блоками)
Существует ли общее соглашение об именах для классов или функций, предназначенных для использования в блоке with , например
with CreateSomeContext() as x:
...
? Что-то, что сигнализирует о том, что класс или результат функции следует...
1236 просмотров
schedule
17.06.2023
Контекстный менеджер внутри контекстного менеджера
У меня есть контекстный менеджер S3TempFile , который берет локальный файл, загружает его в s3, позволяет вам использовать файл s3 и при выходе удаляет файл из s3.
Я хочу создать еще один, S3TempRecordsFile , который берет список записей,...
53 просмотров
schedule
30.07.2022
Диспетчер контекста, который возвращается из родительской функции, не вызывая исключения
Может ли диспетчер контекста вызвать функцию, в которой он находится, в return при обработке исключения?
У меня есть шаблон try-except, общий для нескольких методов, которые я пишу, и я надеюсь высушить его с помощью контекстного менеджера....
557 просмотров
schedule
05.06.2023
менеджер контекста ткани с sudo
Возможно ли иметь диспетчер контекста, который просто сохраняет состояние предыдущего выполнения run . В коде:
РЕДАКТИРОВАТЬ: не рабочее решение, чего я и ожидал
with sudo('. myapp'): #this runs a few things and sets many env variables...
783 просмотров
schedule
25.05.2023
Ошибка многопроцессорной библиотеки Python (AttributeError: __exit__)
Я получаю эту ошибку при использовании pool.map(funct, iterable) :
AttributeError: __exit__
Без объяснения, только трассировка стека до файла pool.py в модуле.
используя таким образом:
with Pool(processes=2) as pool:...
23089 просмотров
schedule
11.12.2022
Значение оператора with без ключевого слова as
Я знаком с использованием оператора Python with как средства обеспечения завершения объекта в случае возникновения исключения. Обычно это выглядит как
with file.open('myfile.txt') as f:
do stuff...
что является сокращением для
f =...
8838 просмотров
schedule
19.08.2022
Итерируемый и контекстный менеджер Python
Я хочу поведения как такового:
with A() as f:
for x in f:
do_something(f)
это правильный способ сделать это?
class A:
def __enter__(self):
print "Entering context"
def __iter__(self):
for x in...
1766 просмотров
schedule
02.09.2022
Как пользовательский тег jinja2 может взаимодействовать с контекстом запроса фляги
Я пишу собственное расширение jinja2 для использования в приложениях flask , и я ищу способ получить доступ к данным контекста шаблонов с помощью тега, который я реализую. То есть я хочу, чтобы тег расширения использовал параметры контекста,...
1203 просмотров
schedule
07.10.2022
Как мне сделать контекстный менеджер с циклом внутри?
Я хочу что-то вроде этого:
from contextlib import contextmanager
@contextmanager
def loop(seq):
for i in seq:
try:
do_setup(i)
yield # with body executes here
do_cleanup(i)
except...
4696 просмотров
schedule
18.04.2023
Проблема с новой строкой в контекстном менеджере Python
Используя contextmanager Python, я хочу создать оболочку для отображения Linux- как прогресс определенного блока кода:
Doing something... done. [42 ms]
Это работает - вроде:
from contextlib import contextmanager
import time...
145 просмотров
schedule
20.10.2023
Обратный диспетчер контекста
Я нахожусь на среднем уровне с Python, и недавно я играл с менеджерами контекста Python. Я хотел инвертировать порядок, в котором выполняются вход и выход. Итак, я написал этот менеджер контекста:
class ReversibleContextManager(object):
def...
165 просмотров
schedule
22.01.2023
почему Contextmanager выдает ошибку времени выполнения «генератор не остановился после throw()»?
В моей утилите.py у меня есть,
@contextmanager
def rate_limit_protection(max_tries=3, wait=300):
tries = 0
while max_tries > tries:
try:
yield
break
except FacebookRequestError as e:...
9600 просмотров
schedule
12.08.2023
Почему devnull не работает при сокрытии вывода консоли, если он определен в этом диспетчере контекста?
У меня есть диспетчер контекста, определенный для «заглушения» вывода некоторого кода Python путем временного переопределения stdout и stderr.
Когда devnull определен в основной функции кода, вывод кода успешно подавляется, однако, когда devnull...
106 просмотров
schedule
06.03.2023
Удаление генератора из контекстного менеджера
Я только что увидел следующий код:
from __future__ import print_function
from future_builtins import map # generator
with open('test.txt', 'r') as f:
linegen = map(str.strip, f)
# file handle should be closed here
for line in linegen:
#...
93 просмотров
schedule
10.06.2023
Python contextmanager () против закрытия (): что подходит для объекта потока?
В другом ответе здесь , который использует contextlib для определения пользовательской "открытой" функции для использования с with , contextmanager из contextlib используется для определите функцию, которая обрабатывает открытие и потоковую...
449 просмотров
schedule
20.09.2022
Python __enter__/__exit__ против __init__ (или __new__)/__del__
Я искал, и я не могу придумать какой-либо веской причины для использования __enter__ / __exit__ python вместо __init__ (или __new__ ?) / __del__ .
Я понимаю, что __enter__ / __exit__ предназначены для использования с оператором with в...
13250 просмотров
schedule
04.09.2022