https://github.com/python/cpython/commit/a5949986d631391d37b1b329ad8badcf2000f9a9 commit: a5949986d631391d37b1b329ad8badcf2000f9a9 branch: main author: Totosuki <116938397+totos...@users.noreply.github.com> committer: gpshead <g...@krypto.org> date: 2025-03-28T23:25:13-07:00 summary:
gh-127541: Update os.walk example (GH-127765) Update os.walk example to be more modern, skip `__pycache__` dirs rather than `CVS` dirs. Co-authored-by: Bénédikt Tran <10796600+picn...@users.noreply.github.com> files: M Doc/library/os.rst M Lib/os.py diff --git a/Doc/library/os.rst b/Doc/library/os.rst index 5037ae89ae3154..54a5d3b98e8662 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 9c2258e6ccf5ba..266e40b56f6c81 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 @@ def fwalk(top=".", topdown=True, onerror=None, *, follow_symlinks=False, dir_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) _______________________________________________ Python-checkins mailing list -- python-checkins@python.org To unsubscribe send an email to python-checkins-le...@python.org https://mail.python.org/mailman3/lists/python-checkins.python.org/ Member address: arch...@mail-archive.com