bedevere-app · GitHub

Handle errors from `os.scandir()` and `ScandirIterator` similarly, which
lets us loop over directory entries with `for`. In top-down mode, call
`os.path.join()` at most once per iteration.

Open

@barneygale

@barneygale barneygale changed the title GH-119169: Speed up os.walk() GH-119169: Speed up os.[f]walk()

May 30, 2024

@barneygale

Closed

barneygale added a commit to barneygale/cpython that referenced this pull request

Jul 6, 2024
When `os.walk()` traverses into subdirectories in top-down mode, call
`os.path.join()` once to add a trailing slash, and use string concatenation
thereafter to generate child paths.

@barneygale barneygale changed the title GH-119169: Speed up os.[f]walk() GH-119169: Speed up os.walk()

Jul 6, 2024

barneygale added a commit to barneygale/cpython that referenced this pull request

Jul 6, 2024
Handle errors from `os.scandir()` and `ScandirIterator` similarly, which
lets us loop over directory entries with `for`.

@barneygale barneygale changed the title GH-119169: Speed up os.walk() GH-119169: Speed up os.walk(topdown=False)

Jul 6, 2024

barneygale added a commit to barneygale/cpython that referenced this pull request

Jul 8, 2024

@barneygale

encukou added a commit to barneygale/cpython that referenced this pull request

Sep 2, 2025

encukou pushed a commit that referenced this pull request

Sep 3, 2025
GH-119186: Slightly speed up `os.walk(topdown=True)`
When `os.walk()` traverses into subdirectories in top-down mode, call
`os.path.join()` once to add a trailing slash, and use string concatenation
thereafter to generate child paths.

lkollar pushed a commit to lkollar/cpython that referenced this pull request

Sep 9, 2025
…121431)
pythonGH-119186: Slightly speed up `os.walk(topdown=True)`
When `os.walk()` traverses into subdirectories in top-down mode, call
`os.path.join()` once to add a trailing slash, and use string concatenation
thereafter to generate child paths.

Read the original on github.com ↗