У меня есть контекстный менеджер S3TempFile
, который берет локальный файл, загружает его в s3, позволяет вам использовать файл s3 и при выходе удаляет файл из s3.
Я хочу создать еще один, S3TempRecordsFile
, который берет список записей, обрабатывает их, выводит в локальный файл, загружает в s3, позволяет вам использовать файл s3, а при выходе удаляет файл из s3 и на локальном диске.
Как видите, второй делает кое-что дополнительно к тому, что делает S3TempFile
. Я хочу повторно использовать код S3TempFile
в S3TempRecordsFile
. Как бы я это сделал? Я не могу использовать оператор with
в S3TempRecordsFile
для создания экземпляра S3TempFile
, так как мы хотим выйти из него только при выходе из контекста S3TempRecordsFile
.
S3TempRecordsFile
наследоваться отS3TempFile
и вызвать его унаследованные методы__enter__
и__exit__
, чтобы повторно использовать его функциональность? - person BrenBarn   schedule 27.03.2014