diff options
author | Guido van Rossum <guido@python.org> | 1996-12-19 22:39:22 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 1996-12-19 22:39:22 (GMT) |
commit | e8e9ed176ff496d95272bcf13fc2598296d09fbc (patch) | |
tree | d7c0325cede60b1205ab099dbbf77df530e163bb /Doc/lib | |
parent | fa5a6cff45402dd1ab44879fccb8323bdea1bfc6 (diff) | |
download | cpython-e8e9ed176ff496d95272bcf13fc2598296d09fbc.zip cpython-e8e9ed176ff496d95272bcf13fc2598296d09fbc.tar.gz cpython-e8e9ed176ff496d95272bcf13fc2598296d09fbc.tar.bz2 |
Docs for stat.py -- docs by Skip Montanaro.
Diffstat (limited to 'Doc/lib')
-rw-r--r-- | Doc/lib/libstat.tex | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/Doc/lib/libstat.tex b/Doc/lib/libstat.tex new file mode 100644 index 0000000..67335a5 --- /dev/null +++ b/Doc/lib/libstat.tex @@ -0,0 +1,106 @@ +% By Skip Montanaro + +\section{Standard module \sectcode{stat}} +\stmodindex{stat} + +The \code{stat} module defines constants and functions for interpreting the +results of \code{os.stat} and \code{os.lstat} (if it exists). For complete +details about the \code{stat} and \code{lstat} system calls, consult your +local man pages. + +The \code{stat} module defines the following functions: + +\renewcommand{\indexsubitem}{(in module stat)} + +\begin{funcdesc}{S_ISDIR}{mode} +Return non-zero if the mode was gotten from a directory file. +\end{funcdesc} + +\begin{funcdesc}{S_ISCHR}{mode} +Return non-zero if the mode was gotten from a character special device. +\end{funcdesc} + +\begin{funcdesc}{S_ISREG}{mode} +Return non-zero if the mode was gotten from a regular file. +\end{funcdesc} + +\begin{funcdesc}{S_ISFIFO}{mode} +Return non-zero if the mode was gotten from a FIFO. +\end{funcdesc} + +\begin{funcdesc}{S_ISLNK}{mode} +Return non-zero if the mode was gotten from a symbolic link. +\end{funcdesc} + +\begin{funcdesc}{S_ISSOCK}{mode} +Return non-zero if the mode was gotten from a socket. +\end{funcdesc} + +All the data items below are simply symbolic indexes into the 10-tuple +returned by \code{os.stat} or \code{os.lstat}. + +\begin{datadesc}{ST_MODE} +Inode protection mode. +\end{datadesc} + +\begin{datadesc}{ST_INO} +Inode number. +\end{datadesc} + +\begin{datadesc}{ST_DEV} +Device inode resides on. +\end{datadesc} + +\begin{datadesc}{ST_NLINK} +Number of links to the inode. +\end{datadesc} + +\begin{datadesc}{ST_UID} +User id of the owner. +\end{datadesc} + +\begin{datadesc}{ST_GID} +Group id of the owner. +\end{datadesc} + +\begin{datadesc}{ST_SIZE} +File size in bytes. +\end{datadesc} + +\begin{datadesc}{ST_ATIME} +Time of last access. +\end{datadesc} + +\begin{datadesc}{ST_MTIME} +Time of last modification. +\end{datadesc} + +\begin{datadesc}{ST_CTIME} +Time of creation. +\end{datadesc} + +Example: + +\begin{verbatim} +import os, sys +from stat import * + +def process(dir, func): + '''recursively descend the directory rooted at dir, calling func for + each regular file''' + + for f in os.listdir(dir): + mode = os.stat('%s/%s' % (dir, f))[ST_MODE] + if S_ISDIR(mode): + # recurse into directory + process('%s/%s' % (dir, f), func) + elif S_ISREG(mode): + func('%s/%s' % (dir, f)) + else: + print 'Skipping %s/%s' % (dir, f) + +def f(file): + print 'frobbed', file + +if __name__ == '__main__': process(sys.argv[1], f) +\end{verbatim} |