summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Doc/library/os.path.rst24
-rw-r--r--Lib/macpath.py29
-rw-r--r--Lib/ntpath.py36
-rw-r--r--Lib/os2emxpath.py4
-rw-r--r--Lib/posixpath.py40
-rw-r--r--Misc/NEWS2
6 files changed, 7 insertions, 128 deletions
diff --git a/Doc/library/os.path.rst b/Doc/library/os.path.rst
index c3c56be..e932b65 100644
--- a/Doc/library/os.path.rst
+++ b/Doc/library/os.path.rst
@@ -261,30 +261,6 @@ write files see :func:`open`, and for accessing the filesystem see the
*unc* will always be the empty string. Availability: Windows.
-.. function:: walk(path, visit, arg)
-
- Calls the function *visit* with arguments ``(arg, dirname, names)`` for each
- directory in the directory tree rooted at *path* (including *path* itself, if it
- is a directory). The argument *dirname* specifies the visited directory, the
- argument *names* lists the files in the directory (gotten from
- ``os.listdir(dirname)``). The *visit* function may modify *names* to influence
- the set of directories visited below *dirname*, e.g. to avoid visiting certain
- parts of the tree. (The object referred to by *names* must be modified in
- place, using :keyword:`del` or slice assignment.)
-
- .. note::
-
- Symbolic links to directories are not treated as subdirectories, and that
- :func:`walk` therefore will not visit them. To visit linked directories you must
- identify them with ``os.path.islink(file)`` and ``os.path.isdir(file)``, and
- invoke :func:`walk` as necessary.
-
- .. note::
-
- The newer :func:`os.walk` :term:`generator` supplies similar functionality
- and can be easier to use.
-
-
.. data:: supports_unicode_filenames
True if arbitrary Unicode strings can be used as file names (within limitations
diff --git a/Lib/macpath.py b/Lib/macpath.py
index 5125f6b..7d6ae41 100644
--- a/Lib/macpath.py
+++ b/Lib/macpath.py
@@ -8,7 +8,7 @@ from genericpath import *
__all__ = ["normcase","isabs","join","splitdrive","split","splitext",
"basename","dirname","commonprefix","getsize","getmtime",
"getatime","getctime", "islink","exists","lexists","isdir","isfile",
- "walk","expanduser","expandvars","normpath","abspath",
+ "expanduser","expandvars","normpath","abspath",
"curdir","pardir","sep","pathsep","defpath","altsep","extsep",
"devnull","realpath","supports_unicode_filenames"]
@@ -154,33 +154,6 @@ def normpath(s):
s = s[:-1]
return s
-
-def walk(top, func, arg):
- """Directory tree walk with callback function.
-
- For each directory in the directory tree rooted at top (including top
- itself, but excluding '.' and '..'), call func(arg, dirname, fnames).
- dirname is the name of the directory, and fnames a list of the names of
- the files and subdirectories in dirname (excluding '.' and '..'). func
- may modify the fnames list in-place (e.g. via del or slice assignment),
- and walk will only recurse into the subdirectories whose names remain in
- fnames; this can be used to implement a filter, or to impose a specific
- order of visiting. No semantics are defined for, or required of, arg,
- beyond that arg is always passed to func. It can be used, e.g., to pass
- a filename pattern, or a mutable object designed to accumulate
- statistics. Passing None for arg is common."""
-
- try:
- names = os.listdir(top)
- except os.error:
- return
- func(arg, top, names)
- for name in names:
- name = join(top, name)
- if isdir(name) and not islink(name):
- walk(name, func, arg)
-
-
def abspath(path):
"""Return an absolute path."""
if not isabs(path):
diff --git a/Lib/ntpath.py b/Lib/ntpath.py
index 59f1402..9425fd5 100644
--- a/Lib/ntpath.py
+++ b/Lib/ntpath.py
@@ -14,7 +14,7 @@ from genericpath import *
__all__ = ["normcase","isabs","join","splitdrive","split","splitext",
"basename","dirname","commonprefix","getsize","getmtime",
"getatime","getctime", "islink","exists","lexists","isdir","isfile",
- "ismount","walk","expanduser","expandvars","normpath","abspath",
+ "ismount", "expanduser","expandvars","normpath","abspath",
"splitunc","curdir","pardir","sep","pathsep","defpath","altsep",
"extsep","devnull","realpath","supports_unicode_filenames","relpath"]
@@ -226,40 +226,6 @@ def ismount(path):
return len(p) == 1 and p[0] in '/\\'
-# Directory tree walk.
-# For each directory under top (including top itself, but excluding
-# '.' and '..'), func(arg, dirname, filenames) is called, where
-# dirname is the name of the directory and filenames is the list
-# of files (and subdirectories etc.) in the directory.
-# The func may modify the filenames list, to implement a filter,
-# or to impose a different order of visiting.
-
-def walk(top, func, arg):
- """Directory tree walk with callback function.
-
- For each directory in the directory tree rooted at top (including top
- itself, but excluding '.' and '..'), call func(arg, dirname, fnames).
- dirname is the name of the directory, and fnames a list of the names of
- the files and subdirectories in dirname (excluding '.' and '..'). func
- may modify the fnames list in-place (e.g. via del or slice assignment),
- and walk will only recurse into the subdirectories whose names remain in
- fnames; this can be used to implement a filter, or to impose a specific
- order of visiting. No semantics are defined for, or required of, arg,
- beyond that arg is always passed to func. It can be used, e.g., to pass
- a filename pattern, or a mutable object designed to accumulate
- statistics. Passing None for arg is common."""
-
- try:
- names = os.listdir(top)
- except os.error:
- return
- func(arg, top, names)
- for name in names:
- name = join(top, name)
- if isdir(name):
- walk(name, func, arg)
-
-
# Expand paths beginning with '~' or '~user'.
# '~' means $HOME; '~user' means that user's home directory.
# If the path doesn't begin with '~', or if the user or $HOME is unknown,
diff --git a/Lib/os2emxpath.py b/Lib/os2emxpath.py
index 4e85c4d..184c9b1 100644
--- a/Lib/os2emxpath.py
+++ b/Lib/os2emxpath.py
@@ -9,12 +9,12 @@ import os
import stat
from genericpath import *
from ntpath import (expanduser, expandvars, isabs, islink, splitdrive,
- splitext, split, walk)
+ splitext, split)
__all__ = ["normcase","isabs","join","splitdrive","split","splitext",
"basename","dirname","commonprefix","getsize","getmtime",
"getatime","getctime", "islink","exists","lexists","isdir","isfile",
- "ismount","walk","expanduser","expandvars","normpath","abspath",
+ "ismount","expanduser","expandvars","normpath","abspath",
"splitunc","curdir","pardir","sep","pathsep","defpath","altsep",
"extsep","devnull","realpath","supports_unicode_filenames"]
diff --git a/Lib/posixpath.py b/Lib/posixpath.py
index ee6d0f2..dc0aa10 100644
--- a/Lib/posixpath.py
+++ b/Lib/posixpath.py
@@ -18,7 +18,7 @@ from genericpath import *
__all__ = ["normcase","isabs","join","splitdrive","split","splitext",
"basename","dirname","commonprefix","getsize","getmtime",
"getatime","getctime","islink","exists","lexists","isdir","isfile",
- "ismount","walk","expanduser","expandvars","normpath","abspath",
+ "ismount", "expanduser","expandvars","normpath","abspath",
"samefile","sameopenfile","samestat",
"curdir","pardir","sep","pathsep","defpath","altsep","extsep",
"devnull","realpath","supports_unicode_filenames","relpath"]
@@ -193,44 +193,6 @@ def ismount(path):
return False
-# Directory tree walk.
-# For each directory under top (including top itself, but excluding
-# '.' and '..'), func(arg, dirname, filenames) is called, where
-# dirname is the name of the directory and filenames is the list
-# of files (and subdirectories etc.) in the directory.
-# The func may modify the filenames list, to implement a filter,
-# or to impose a different order of visiting.
-
-def walk(top, func, arg):
- """Directory tree walk with callback function.
-
- For each directory in the directory tree rooted at top (including top
- itself, but excluding '.' and '..'), call func(arg, dirname, fnames).
- dirname is the name of the directory, and fnames a list of the names of
- the files and subdirectories in dirname (excluding '.' and '..'). func
- may modify the fnames list in-place (e.g. via del or slice assignment),
- and walk will only recurse into the subdirectories whose names remain in
- fnames; this can be used to implement a filter, or to impose a specific
- order of visiting. No semantics are defined for, or required of, arg,
- beyond that arg is always passed to func. It can be used, e.g., to pass
- a filename pattern, or a mutable object designed to accumulate
- statistics. Passing None for arg is common."""
-
- try:
- names = os.listdir(top)
- except os.error:
- return
- func(arg, top, names)
- for name in names:
- name = join(top, name)
- try:
- st = os.lstat(name)
- except os.error:
- continue
- if stat.S_ISDIR(st.st_mode):
- walk(name, func, arg)
-
-
# Expand paths beginning with '~' or '~user'.
# '~' means $HOME; '~user' means that user's home directory.
# If the path doesn't begin with '~', or if the user or $HOME is unknown,
diff --git a/Misc/NEWS b/Misc/NEWS
index 24a63ec..aaa6382 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -24,6 +24,8 @@ Library
- The imputil module has been removed.
+- os.path.walk has been removed in favor of os.walk
+
Build
-----