GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GH-89727: Add `pathlib.Path.fwalk()` method by barneygale · Pull Request #103566 · python/cpython

Conversation

@barneygale

@barneygale barneygale commented Apr 15, 2023 •
edited by bedevere-bot
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Contributor

Add pathlib.Path.fwalk() method, which behaves exactly like Path.walk() except that it yields a 4-tuple (dirpath, dirnames, filenames, dirfd), and it supports a dir_fd.

This method provides safety from symlink attacks when walking directory trees; this is important for implementing functionality such as rmtree().

  • Issue: Change shutil.rmtree and os.walk to support very deep hierarchies #89727

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@barneygale
pythonGH-89727: Add pathlib.Path.fwalk() method
a2b539d
Add `pathlib.Path.fwalk()` method, which behaves exactly like `Path.walk()`
except that it yields a 4-tuple `(dirpath, dirnames, filenames, dirfd)`,
and it supports a `dir_fd`.

This method provides safety from symlink attacks when walking directory
trees; this is important for implementing functionality such as `rmtree()`.
@barneygale barneygale added the topic-pathlib label Apr 15, 2023
@bedevere-bot bedevere-bot mentioned this pull request Apr 15, 2023
Change shutil.rmtree and os.walk to support very deep hierarchies #89727
Open
@bedevere-bot bedevere-bot added the awaiting core review label Apr 15, 2023
@barneygale
barneygale marked this pull request as ready for review April 21, 2023 15:37
barneygale added 2 commits May 8, 2023 16:12
@barneygale
Merge branch 'main' into pathlib-fwalk2
e074ffe
@barneygale
Fix slightly dodgy merge.
36bcc59
@barneygale

barneygale commented Nov 22, 2023

Copy link
Copy Markdown
Contributor Author

Withdrawing this PR - it's out of date, and I'd like to keep the Path API stable until PathBase is made public (see #110109)

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@barneygale barneygale closed this Nov 22, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

No reviews

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

awaiting core review topic-pathlib

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

2 participants

@barneygale @bedevere-bot
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.