making your own DirEntry.

DL Neil PythonList at DancesWithMice.info
Fri Dec 22 15:39:35 EST 2023


Antoon,


On 12/23/23 01:00, Antoon Pardon via Python-list wrote:
> I am writing a program that goes through file hierarchies and I am mostly
> using scandir for that which produces DirEntry instances.
> 
> At times it would be usefull if I could make my own DirEntry for a specific
> path, however when I try, I get the following diagnostic:
> 
>>>> os.DirEntry('snap')
> Traceback (most recent call last):
>    File "<stdin>", line 1, in <module>
> TypeError: cannot create 'posix.DirEntry' instances
> 
> 
> Does anyone have an idea for why this limitation and how to go around it.
> 
> At this moment I don't consider pathlib very usefull, it lacks the
> follow_symlinks parameter in the is_dir, is_file, ... methods.


Can't recall ever trying this.


The manual (https://docs.python.org/3/library/os.html#os.DirEntry) 
suggests that a DirEntry is one of those Python data-constructs which it 
creates, but we may only use: "cannot create".

Secondly, that a DirEntry object consists of a lot more than the 
directory-name, eg its path.

Thirdly, that os.scandir() deals (only) with concrete directories - 
unlike pathlib's ability to work with both the real thing and abstract 
files/dirs.


Why create a DirEntry? Why not go directly to os.mkdir() or whatever?

-- 
Regards =dn


More information about the Python-list mailing list