[New-bugs-announce] [issue46227] add pathlib.Path.walk method

Stanislav Zmiev report at bugs.python.org
Sun Jan 2 13:34:12 EST 2022


New submission from Stanislav Zmiev <szmiev2000 at gmail.com>:

Pathlib is great, yet every time I have to parse a bunch of files, I have to use os.walk and join paths by hand. That's not a lot of code but I feel like pathlib should have higher-level abstractions for all path-related functionality of os. I propose we add a Path.walk method that could look like this:

def walk(self, topdown=True, onerror=None, followlinks=False):
    for root, dirs, files in self._accessor.walk(
        self,
        topdown=topdown,
        onerror=onerror,
        followlinks=followlinks
    ):
        root_path = Path(root)
        yield (
            root_path,
            [root_path._make_child_relpath(dir_) for dir_ in dirs],
            [root_path._make_child_relpath(file) for file in files],
        )


Note: this version does not handle a situation when top does not exist (similar to os.walk that also doesn't handle it and just returns an empty generator)

----------
components: Library (Lib)
messages: 409511
nosy: Ovsyanka
priority: normal
severity: normal
status: open
title: add pathlib.Path.walk method
type: enhancement
versions: Python 3.11

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue46227>
_______________________________________


More information about the New-bugs-announce mailing list