diff options
author | R David Murray <rdmurray@bitdance.com> | 2011-03-10 22:38:50 (GMT) |
---|---|---|
committer | R David Murray <rdmurray@bitdance.com> | 2011-03-10 22:38:50 (GMT) |
commit | ee30a0be35d15146ec78f3859df2d63fbee323b8 (patch) | |
tree | 082389731687419a2abdd1b001322997cb229302 /Doc | |
parent | 1aea1dabe527ae35006671c0eb8879042e398088 (diff) | |
parent | 5647c473bc6561d2d1bc0423ac5c1caab2bcb44f (diff) | |
download | cpython-ee30a0be35d15146ec78f3859df2d63fbee323b8.zip cpython-ee30a0be35d15146ec78f3859df2d63fbee323b8.tar.gz cpython-ee30a0be35d15146ec78f3859df2d63fbee323b8.tar.bz2 |
Merge #10999 fix.
Diffstat (limited to 'Doc')
-rw-r--r-- | Doc/library/os.rst | 20 | ||||
-rw-r--r-- | Doc/library/stat.rst | 88 |
2 files changed, 76 insertions, 32 deletions
diff --git a/Doc/library/os.rst b/Doc/library/os.rst index 692aa9c..2950f7f 100644 --- a/Doc/library/os.rst +++ b/Doc/library/os.rst @@ -1260,16 +1260,16 @@ Files and Directories Set the flags of *path* to the numeric *flags*. *flags* may take a combination (bitwise OR) of the following values (as defined in the :mod:`stat` module): - * ``UF_NODUMP`` - * ``UF_IMMUTABLE`` - * ``UF_APPEND`` - * ``UF_OPAQUE`` - * ``UF_NOUNLINK`` - * ``SF_ARCHIVED`` - * ``SF_IMMUTABLE`` - * ``SF_APPEND`` - * ``SF_NOUNLINK`` - * ``SF_SNAPSHOT`` + * :data:`stat.UF_NODUMP` + * :data:`stat.UF_IMMUTABLE` + * :data:`stat.UF_APPEND` + * :data:`stat.UF_OPAQUE` + * :data:`stat.UF_NOUNLINK` + * :data:`stat.SF_ARCHIVED` + * :data:`stat.SF_IMMUTABLE` + * :data:`stat.SF_APPEND` + * :data:`stat.SF_NOUNLINK` + * :data:`stat.SF_SNAPSHOT` Availability: Unix. diff --git a/Doc/library/stat.rst b/Doc/library/stat.rst index d8a27af..cc879de 100644 --- a/Doc/library/stat.rst +++ b/Doc/library/stat.rst @@ -76,6 +76,34 @@ for each test. These are also useful when checking for information about a file that isn't handled by :mod:`os.path`, like the tests for block and character devices. +Example:: + + import os, sys + from stat import * + + def walktree(top, callback): + '''recursively descend the directory tree rooted at top, + calling the callback function for each regular file''' + + for f in os.listdir(top): + pathname = os.path.join(top, f) + mode = os.stat(pathname)[ST_MODE] + if S_ISDIR(mode): + # It's a directory, recurse into it + walktree(pathname, callback) + elif S_ISREG(mode): + # It's a file, call the callback function + callback(pathname) + else: + # Unknown file type, print a message + print('Skipping %s' % pathname) + + def visitfile(file): + print('visiting', file) + + if __name__ == '__main__': + walktree(sys.argv[1], visitfile) + All the variables below are simply symbolic indexes into the 10-tuple returned by :func:`os.stat`, :func:`os.fstat` or :func:`os.lstat`. @@ -265,31 +293,47 @@ The following flags can also be used in the *mode* argument of :func:`os.chmod`: Unix V7 synonym for :data:`S_IXUSR`. -Example:: +The following flags can be used in the *flags* argument of :func:`os.chflags`: - import os, sys - from stat import * +.. data:: UF_NODUMP - def walktree(top, callback): - '''recursively descend the directory tree rooted at top, - calling the callback function for each regular file''' + Do not dump the file. - for f in os.listdir(top): - pathname = os.path.join(top, f) - mode = os.stat(pathname)[ST_MODE] - if S_ISDIR(mode): - # It's a directory, recurse into it - walktree(pathname, callback) - elif S_ISREG(mode): - # It's a file, call the callback function - callback(pathname) - else: - # Unknown file type, print a message - print('Skipping %s' % pathname) +.. data:: UF_IMMUTABLE - def visitfile(file): - print('visiting', file) + The file may not be changed. - if __name__ == '__main__': - walktree(sys.argv[1], visitfile) +.. data:: UF_APPEND + + The file may only be appended to. + +.. data:: UF_OPAQUE + + The file may not be renamed or deleted. + +.. data:: UF_NOUNLINK + + The directory is opaque when viewed through a union stack. + +.. data:: SF_ARCHIVED + + The file may be archived. + +.. data:: SF_IMMUTABLE + + The file may not be changed. + +.. data:: SF_APPEND + + The file may only be appended to. + +.. data:: SF_NOUNLINK + + The file may not be renamed or deleted. + +.. data:: SF_SNAPSHOT + + The file is a snapshot file. + +See the \*BSD or Mac OS systems man page :manpage:`chflags(2)` for more information. |