symbian-qemu-0.9.1-12/python-2.6.1/Doc/library/stat.rst
changeset 1 2fb8b9db1c86
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/symbian-qemu-0.9.1-12/python-2.6.1/Doc/library/stat.rst	Fri Jul 31 15:01:17 2009 +0100
@@ -0,0 +1,167 @@
+
+:mod:`stat` --- Interpreting :func:`stat` results
+=================================================
+
+.. module:: stat
+   :synopsis: Utilities for interpreting the results of os.stat(), os.lstat() and os.fstat().
+.. sectionauthor:: Skip Montanaro <skip@automatrix.com>
+
+
+The :mod:`stat` module defines constants and functions for interpreting the
+results of :func:`os.stat`, :func:`os.fstat` and :func:`os.lstat` (if they
+exist).  For complete details about the :cfunc:`stat`, :cfunc:`fstat` and
+:cfunc:`lstat` calls, consult the documentation for your system.
+
+The :mod:`stat` module defines the following functions to test for specific file
+types:
+
+
+.. function:: S_ISDIR(mode)
+
+   Return non-zero if the mode is from a directory.
+
+
+.. function:: S_ISCHR(mode)
+
+   Return non-zero if the mode is from a character special device file.
+
+
+.. function:: S_ISBLK(mode)
+
+   Return non-zero if the mode is from a block special device file.
+
+
+.. function:: S_ISREG(mode)
+
+   Return non-zero if the mode is from a regular file.
+
+
+.. function:: S_ISFIFO(mode)
+
+   Return non-zero if the mode is from a FIFO (named pipe).
+
+
+.. function:: S_ISLNK(mode)
+
+   Return non-zero if the mode is from a symbolic link.
+
+
+.. function:: S_ISSOCK(mode)
+
+   Return non-zero if the mode is from a socket.
+
+Two additional functions are defined for more general manipulation of the file's
+mode:
+
+
+.. function:: S_IMODE(mode)
+
+   Return the portion of the file's mode that can be set by :func:`os.chmod`\
+   ---that is, the file's permission bits, plus the sticky bit, set-group-id, and
+   set-user-id bits (on systems that support them).
+
+
+.. function:: S_IFMT(mode)
+
+   Return the portion of the file's mode that describes the file type (used by the
+   :func:`S_IS\*` functions above).
+
+Normally, you would use the :func:`os.path.is\*` functions for testing the type
+of a file; the functions here are useful when you are doing multiple tests of
+the same file and wish to avoid the overhead of the :cfunc:`stat` system call
+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.
+
+All the variables below are simply symbolic indexes into the 10-tuple returned
+by :func:`os.stat`, :func:`os.fstat` or :func:`os.lstat`.
+
+
+.. data:: ST_MODE
+
+   Inode protection mode.
+
+
+.. data:: ST_INO
+
+   Inode number.
+
+
+.. data:: ST_DEV
+
+   Device inode resides on.
+
+
+.. data:: ST_NLINK
+
+   Number of links to the inode.
+
+
+.. data:: ST_UID
+
+   User id of the owner.
+
+
+.. data:: ST_GID
+
+   Group id of the owner.
+
+
+.. data:: ST_SIZE
+
+   Size in bytes of a plain file; amount of data waiting on some special files.
+
+
+.. data:: ST_ATIME
+
+   Time of last access.
+
+
+.. data:: ST_MTIME
+
+   Time of last modification.
+
+
+.. data:: ST_CTIME
+
+   The "ctime" as reported by the operating system.  On some systems (like Unix) is
+   the time of the last metadata change, and, on others (like Windows), is the
+   creation time (see platform documentation for details).
+
+The interpretation of "file size" changes according to the file type.  For plain
+files this is the size of the file in bytes.  For FIFOs and sockets under most
+flavors of Unix (including Linux in particular), the "size" is the number of
+bytes waiting to be read at the time of the call to :func:`os.stat`,
+:func:`os.fstat`, or :func:`os.lstat`; this can sometimes be useful, especially
+for polling one of these special files after a non-blocking open.  The meaning
+of the size field for other character and block devices varies more, depending
+on the implementation of the underlying system call.
+
+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)
+