From a5949986d631391d37b1b329ad8badcf2000f9a9 Mon Sep 17 00:00:00 2001 From: Totosuki <116938397+totosuki@users.noreply.github.com> Date: Sat, 29 Mar 2025 15:25:13 +0900 Subject: gh-127541: Update os.walk example (GH-127765) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Update os.walk example to be more modern, skip `__pycache__` dirs rather than `CVS` dirs. Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com> --- Doc/library/os.rst | 16 ++++++++-------- Lib/os.py | 12 ++++++------ 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/Doc/library/os.rst b/Doc/library/os.rst index 5037ae8..54a5d3b 100644 --- a/Doc/library/os.rst +++ b/Doc/library/os.rst @@ -3693,16 +3693,16 @@ features: This example displays the number of bytes taken by non-directory files in each directory under the starting directory, except that it doesn't look under any - CVS subdirectory:: + ``__pycache__`` subdirectory:: import os from os.path import join, getsize - for root, dirs, files in os.walk('python/Lib/email'): + for root, dirs, files in os.walk('python/Lib/xml'): print(root, "consumes", end=" ") print(sum(getsize(join(root, name)) for name in files), end=" ") print("bytes in", len(files), "non-directory files") - if 'CVS' in dirs: - dirs.remove('CVS') # don't visit CVS directories + if '__pycache__' in dirs: + dirs.remove('__pycache__') # don't visit __pycache__ directories In the next example (simple implementation of :func:`shutil.rmtree`), walking the tree bottom-up is essential, :func:`rmdir` doesn't allow @@ -3755,16 +3755,16 @@ features: This example displays the number of bytes taken by non-directory files in each directory under the starting directory, except that it doesn't look under any - CVS subdirectory:: + ``__pycache__`` subdirectory:: import os - for root, dirs, files, rootfd in os.fwalk('python/Lib/email'): + for root, dirs, files, rootfd in os.fwalk('python/Lib/xml'): print(root, "consumes", end="") print(sum([os.stat(name, dir_fd=rootfd).st_size for name in files]), end="") print("bytes in", len(files), "non-directory files") - if 'CVS' in dirs: - dirs.remove('CVS') # don't visit CVS directories + if '__pycache__' in dirs: + dirs.remove('__pycache__') # don't visit __pycache__ directories In the next example, walking the tree bottom-up is essential: :func:`rmdir` doesn't allow deleting a directory before the directory is diff --git a/Lib/os.py b/Lib/os.py index 9c2258e..266e40b 100644 --- a/Lib/os.py +++ b/Lib/os.py @@ -345,12 +345,12 @@ def walk(top, topdown=True, onerror=None, followlinks=False): import os from os.path import join, getsize - for root, dirs, files in os.walk('python/Lib/email'): + for root, dirs, files in os.walk('python/Lib/xml'): print(root, "consumes ") print(sum(getsize(join(root, name)) for name in files), end=" ") print("bytes in", len(files), "non-directory files") - if 'CVS' in dirs: - dirs.remove('CVS') # don't visit CVS directories + if '__pycache__' in dirs: + dirs.remove('__pycache__') # don't visit __pycache__ directories """ sys.audit("os.walk", top, topdown, onerror, followlinks) @@ -460,13 +460,13 @@ if {open, stat} <= supports_dir_fd and {scandir, stat} <= supports_fd: Example: import os - for root, dirs, files, rootfd in os.fwalk('python/Lib/email'): + for root, dirs, files, rootfd in os.fwalk('python/Lib/xml'): print(root, "consumes", end="") print(sum(os.stat(name, dir_fd=rootfd).st_size for name in files), end="") print("bytes in", len(files), "non-directory files") - if 'CVS' in dirs: - dirs.remove('CVS') # don't visit CVS directories + if '__pycache__' in dirs: + dirs.remove('__pycache__') # don't visit __pycache__ directories """ sys.audit("os.fwalk", top, topdown, onerror, follow_symlinks, dir_fd) top = fspath(top) -- cgit v0.12