Mercurial > cpython-lru_cache-weakref
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 |
| 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} |
