Пользовательский pathlib.Path () - PullRequest
0 голосов
/ 24 апреля 2020

Я попытался настроить pathlib.Path () с дополнительными функциями. В частности, мне действительно нравится использовать менеджер контекста в качестве метода для входа и выхода из каталога. Я использую это все время, но, похоже, я получаю ошибки при получении Path () для работы с пользовательским контекстным менеджером. Кто-нибудь знает, почему приведенный ниже код вызывает ошибку и как ее исправить, не создавая заново все Path () в пользовательском классе?

# Python 3.7.3; Ubuntu 18.04.1
from pathlib import Path
import os
class mypath(Path):
    def __enter__(self):
        self.prdir = os.getcwd()
        os.chdir(str(self))
    def __exit__(self,**error_stuff):
        os.chdir(self.prdir)

p = mypath('~').expanduser()
...
AttributeError: type object 'mypath' has no attribute '_flavour'
...