really the last log entry for 1.1
[python/dscho.git] / Lib / stat.py
blob5f6f522dc20040a6f35c6457afae83eacf714fd0
1 # Module 'stat'
3 # Defines constants and functions for interpreting stat/lstat struct
4 # as returned by os.stat() and os.lstat() (if it exists).
6 # Suggested usage: from stat import *
8 # XXX Strictly spoken, this module may have to be adapted for each POSIX
9 # implementation; in practice, however, the numeric constants used by
10 # stat() are almost universal (even for stat() emulations on non-UNIX
11 # systems like MS-DOS).
13 # Indices for stat struct members in tuple returned by os.stat()
15 ST_MODE = 0
16 ST_INO = 1
17 ST_DEV = 2
18 ST_NLINK = 3
19 ST_UID = 4
20 ST_GID = 5
21 ST_SIZE = 6
22 ST_ATIME = 7
23 ST_MTIME = 8
24 ST_CTIME = 9
26 # Extract bits from the mode
28 def S_IMODE(mode):
29 return mode & 07777
31 def S_IFMT(mode):
32 return mode & 0170000
34 # Constants used as S_IFMT() for various file types
35 # (not all are implemented on all systems)
37 S_IFDIR = 0040000
38 S_IFCHR = 0020000
39 S_IFBLK = 0060000
40 S_IFREG = 0100000
41 S_IFIFO = 0010000
42 S_IFLNK = 0120000
43 S_IFSOCK = 0140000
45 # Functions to test for each file type
47 def S_ISDIR(mode):
48 return S_IFMT(mode) == S_IFDIR
50 def S_ISCHR(mode):
51 return S_IFMT(mode) == S_IFCHR
53 def S_ISBLK(mode):
54 return S_IFMT(mode) == S_IFBLK
56 def S_ISREG(mode):
57 return S_IFMT(mode) == S_IFREG
59 def S_ISFIFO(mode):
60 return S_IFMT(mode) == S_IFIFO
62 def S_ISLNK(mode):
63 return S_IFMT(mode) == S_IFLNK
65 def S_ISSOCK(mode):
66 return S_IFMT(mode) == S_IFSOCK
68 # Names for permission bits
70 S_ISUID = 04000
71 S_ISGID = 02000
72 S_ENFMT = S_ISGID
73 S_ISVTX = 01000
74 S_IREAD = 00400
75 S_IWRITE = 00200
76 S_IEXEC = 00100
77 S_IRWXU = 00700
78 S_IRUSR = 00400
79 S_IWUSR = 00200
80 S_IXUSR = 00100
81 S_IRWXG = 00070
82 S_IRGRP = 00040
83 S_IWGRP = 00020
84 S_IXGRP = 00010
85 S_IRWXO = 00007
86 S_IROTH = 00004
87 S_IWOTH = 00002
88 S_IXOTH = 00001