annotate Doc/lib/libstat.tex @ 5817:48b94de85bf3 legacy-trunk

Extensive changes by AMK.
author Guido van Rossum <guido@python.org>
date Thu, 17 Jul 1997 16:29:42 +0000
parents f2321e423071
children 3468ea8645ca
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4788
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1 % By Skip Montanaro
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
2
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
3 \section{Standard module \sectcode{stat}}
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
4 \stmodindex{stat}
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
5
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
6 The \code{stat} module defines constants and functions for interpreting the
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
7 results of \code{os.stat} and \code{os.lstat} (if it exists). For complete
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
8 details about the \code{stat} and \code{lstat} system calls, consult your
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
9 local man pages.
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
10
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
11 The \code{stat} module defines the following functions:
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
12
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
13 \renewcommand{\indexsubitem}{(in module stat)}
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
14
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
15 \begin{funcdesc}{S_ISDIR}{mode}
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
16 Return non-zero if the mode was gotten from a directory file.
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
17 \end{funcdesc}
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
18
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
19 \begin{funcdesc}{S_ISCHR}{mode}
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
20 Return non-zero if the mode was gotten from a character special device.
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
21 \end{funcdesc}
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
22
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
23 \begin{funcdesc}{S_ISREG}{mode}
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
24 Return non-zero if the mode was gotten from a regular file.
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
25 \end{funcdesc}
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
26
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
27 \begin{funcdesc}{S_ISFIFO}{mode}
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
28 Return non-zero if the mode was gotten from a FIFO.
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
29 \end{funcdesc}
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
30
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
31 \begin{funcdesc}{S_ISLNK}{mode}
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
32 Return non-zero if the mode was gotten from a symbolic link.
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
33 \end{funcdesc}
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
34
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
35 \begin{funcdesc}{S_ISSOCK}{mode}
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
36 Return non-zero if the mode was gotten from a socket.
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
37 \end{funcdesc}
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
38
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
39 All the data items below are simply symbolic indexes into the 10-tuple
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
40 returned by \code{os.stat} or \code{os.lstat}.
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
41
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
42 \begin{datadesc}{ST_MODE}
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
43 Inode protection mode.
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
44 \end{datadesc}
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
45
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
46 \begin{datadesc}{ST_INO}
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
47 Inode number.
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
48 \end{datadesc}
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
49
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
50 \begin{datadesc}{ST_DEV}
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
51 Device inode resides on.
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
52 \end{datadesc}
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
53
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
54 \begin{datadesc}{ST_NLINK}
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
55 Number of links to the inode.
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
56 \end{datadesc}
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
57
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
58 \begin{datadesc}{ST_UID}
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
59 User id of the owner.
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
60 \end{datadesc}
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
61
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
62 \begin{datadesc}{ST_GID}
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
63 Group id of the owner.
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
64 \end{datadesc}
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
65
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
66 \begin{datadesc}{ST_SIZE}
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
67 File size in bytes.
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
68 \end{datadesc}
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
69
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
70 \begin{datadesc}{ST_ATIME}
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
71 Time of last access.
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
72 \end{datadesc}
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
73
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
74 \begin{datadesc}{ST_MTIME}
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
75 Time of last modification.
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
76 \end{datadesc}
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
77
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
78 \begin{datadesc}{ST_CTIME}
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
79 Time of creation.
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
80 \end{datadesc}
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
81
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
82 Example:
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
83
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
84 \begin{verbatim}
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
85 import os, sys
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
86 from stat import *
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
87
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
88 def process(dir, func):
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
89 '''recursively descend the directory rooted at dir, calling func for
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
90 each regular file'''
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
91
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
92 for f in os.listdir(dir):
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
93 mode = os.stat('%s/%s' % (dir, f))[ST_MODE]
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
94 if S_ISDIR(mode):
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
95 # recurse into directory
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
96 process('%s/%s' % (dir, f), func)
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
97 elif S_ISREG(mode):
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
98 func('%s/%s' % (dir, f))
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
99 else:
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
100 print 'Skipping %s/%s' % (dir, f)
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
101
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
102 def f(file):
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
103 print 'frobbed', file
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
104
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
105 if __name__ == '__main__': process(sys.argv[1], f)
f2321e423071 Docs for stat.py -- docs by Skip Montanaro.
Guido van Rossum <guido@python.org>
parents:
diff changeset
106 \end{verbatim}