[Python-Dev] Sub-claasing pathlib.Path seems impossible

Christophe Bal projetmbc at gmail.com
Fri May 1 21:30:35 CEST 2015


In this post
I have noticed a problem with the following code.

from pathlib import Path
> class PPath(Path):
>     def __init__(self, *args, **kwargs):
>         super().__init__(*args, **kwargs)
> test = PPath("dir", "test.txt")
This gives the following error message.

> Traceback (most recent call last):
>   File "/Users/projetmbc/test.py", line 14, in <module>
>     test = PPath("dir", "test.txt")
>   File "/anaconda/lib/python3.4/pathlib.py", line 907, in __new__
>     self = cls._from_parts(args, init=False)
>   File "/anaconda/lib/python3.4/pathlib.py", line 589, in _from_parts
>     drv, root, parts = self._parse_args(args)
>   File "/anaconda/lib/python3.4/pathlib.py", line 582, in _parse_args
>     return cls._flavour.parse_parts(parts)AttributeError: type object 'PPath' has no attribute '_flavour'
This breaks the sub-classing from Python point of view. In the post
I give a hack to sub-class Path but it's a bit Unpythonic.

*Christophe BAL*
*Enseignant de mathématiques en Lycée **et développeur Python amateur*
*French math teacher in a "Lycée" **and **Python **amateur developer*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-dev/attachments/20150501/53e1438f/attachment.html>

More information about the Python-Dev mailing list