本文共 8589 字,大约阅读时间需要 28 分钟。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 | Help on module posixpath in os: NAME posixpath - Common operations on Posix pathnames. FILE / usr / lib / python2. 6 / posixpath.py MODULE DOCS http: / / docs.python.org / library / posixpath DESCRIPTION Instead of importing this module directly, import os and refer to this module as os.path. The "os.path" name is an alias for this module on Posix systems; on other systems (e.g. Mac, Windows), os.path provides the same operations in a manner specific to that platform, and is an alias to another module (e.g. macpath, ntpath). Some of this can actually be useful on non - Posix systems too, e.g. for manipulation of the pathname component of URLs. #使用os.path FUNCTIONS abspath(path) Return an absolute path. #返回的绝对路径。 exp:>>> os.path.abspath( '.' ) '/root/python' basename(p) Returns the final component of a pathname #返回一个路径名的最后一个组件,同split差不多,都是找最后以"/"+1结尾,并return p[i:] exp:>>> os.path.basename( './new.txt' ) 'new.txt' commonprefix(m) Given a list of pathnames, returns the longest common leading component #鉴于路径名的列表,返回的最长公共领先的组件 dirname(p) Returns the directory component of a pathname #返回一个路径名的目录部分,查找最后"/"+1的索引,并打印之前的数据。如果没有"/"则去掉,正常目录减掉最后那个"/",非正常目录去除最后/右边的字符串。如果无"/"返回空 exp:>>> os.path.dirname( '/root/python/new.txt' ) '/root/python' >>> os.path.dirname( "a///a.txt" ) 'a' >>> os.path.dirname( "/a//c.ini" ) '/a' >>> a = "/ca.txt" >>> b = a.rfind( '/' ) + 1 >>> b 14 >>> c = a[:b] >>> c '/c' >>> c ! = '/' * len (c) True exists(path) Test whether a path exists. Returns False for broken symbolic links #测试路径是否存在。损坏的符号链接返回False exp:>>> os.path.exists( '/root/python/new.txt' ) rue >>> os.path.exists( '/root/python/new.tx' ) False expanduser(path) Expand ~ and ~user constructions. If user or $HOME is unknown, do nothing. #返回用户的绝对路径 exp:>>> os.path.expanduser( '~/python' ) '/root/python' expandvars(path) Expand shell variables of form $var and ${var}. Unknown variables are left unchanged. #展开变量$var和${var} getatime(filename) Return the last access time of a file , reported by os.stat(). #返回最后一次访问文件的时间,报告由os.stat()。 exp:>>> os.path.getatime( './new.txt' ) 1369040605.3546476 >>> os.stat( './new.txt' ) posix.stat_result(st_mode = 33060 , st_ino = 787083L , st_dev = 64768L , st_nlink = 1 , st_uid = 0 , st_gid = 0 , st_size = 0L , st_atime = 1369040605 , st_mtime = 1369040605 , st_ctime = 1369043721 ) getctime(filename) Return the metadata change time of a file , reported by os.stat(). #返回Ctime getmtime(filename) Return the last modification time of a file , reported by os.stat(). #返回mtime getsize(filename) Return the size of a file , reported by os.stat(). #返回一个文件的大小,报告的由os.stat()。 isabs(s) Test whether a path is absolute #测试路径是否是绝对的,如果接收字符串是以'/'开头则返回True。 exp:>>> os.path.isabs( './new.txt' ) False >>> os.path.isabs( '/root/python/new.txt' ) True isdir(s) Return true if the pathname refers to an existing directory. #如果是一个目录返回true isfile(path) Test whether a path is a regular file #如果是一个file返回true islink(path) Test whether a path is a symbolic link #如果是一个link返回true ismount(path) Test whether a path is a mount point #测试路径是否是一个挂载点 exp:>>> os.path.ismount( '/python' ) True join(a, * p) Join two or more pathname components, inserting '/' as needed. If any component is an absolute path, all previous path components will be discarded. #将多个路径组合后返回,第一个绝对路径之前的参数将被忽略。 #如果*p以"/"开头直接返回*p,如果a等于空(exp )或者路径以"/"结尾(exp "/root/www/")则a+(*p)否则exp(./)'/'+(*p) exp:>>> os.path.join( "/root/python" , "a.txt" ) '/root/python/a.txt' lexists(path) Test whether a path exists. Returns True for broken symbolic links #测试路径是否存在。返回True损坏的符号链接 exp:>>> os.path.lexists( "/root/python" ) True >>> os.path.lexists( "/root/python1" ) False normcase(s) Normalize case of pathname. Has no effect under Posix #正常化的路径名的情况下。在POSIX下直接返回原值。 exp:>>> os.path.normcase( "c:\windows\system32" ) 'c:\\windows\\system32' normpath(path) Normalize path, eliminating double slashes, etc. #正常化的路径,消除双斜线,等等。 exp:>>> os.path.normpath( "c:\\windows" ) 'c:\\windows' >>> os.path.normpath( "\etc\\windows" ) '\\etc\\windows' >>> os.path.normpath( "\etc\windows" ) '\\etc\\windows' >>> os.path.normpath( "/etc\windows" ) '/etc\\windows' >>> os.path.normpath( "/etc/windows" ) ' / etc / windows realpath(filename) Return the canonical path of the specified filename, eliminating any symbolic links encountered in the path. #返回指定的文件名的规范路径,消除任何在通路中遇到的符号链接。 exp:>>> os.path.realpath( '/root/python/a.txt' ) '/root/python/a.txt' relpath(path, start = '.' ) Return a relative version of a path #返回的路径相对版本,如果空值,返回错误"no path specified" exp: >>> os.path.relpath( '/root/python/a.txt' ) 'a.txt' samefile(f1, f2) Test whether two pathnames reference the same actual file #测试两个路径名是否引用同一实际文件,如果2个路径指向同样的文件或目录,返回True exp:>>> os.path.samefile( '/root/python/a.txt' , './b.txt' ) False >>> os.path.samefile( '/root/python/a.txt' , './a.txt' ) True sameopenfile(fp1, fp2) Test whether two open file objects reference the same file #测试两个打开的文件对象是否引用同一个文件 samestat(s1, s2) Test whether two stat buffers reference the same file #测试两个stat缓冲区是否引用同一个文件 split(p) Split a pathname. Returns tuple "(head, tail)" where "tail" is everything after the final slash. Either part may be empty. #分割文件名与目录(事实上,如果你完全使用目录,它也会将最后一个目录作为文件名而分离,同时它不会判断文件或目录是否存在) #找出"/"在(p)中出现的最后一次,并以倒数第二次以索引进行分割。 exp:>>> os.path.split( "/root/python" ) ( '/root' , 'python' ) >>> os.path.split( "/root/python/a.txt" ) ( '/root/python' , 'a.txt' ) >>> os.path.split( "/root/python/" ) ( '/root/python' , '') splitdrive(p) Split a pathname into drive and path. On Posix, drive is always empty. # 作用于windows/dos/nt,在unix永远返回空。 splitext(p) Split the extension from a pathname. Extension is everything from the last dot to the end, ignoring leading dots. Returns "(root, ext)" ; ext may be empty. #分离文件名与扩展名,以最后"."号分割,返回一个元组。 exp:>>> os.path.splitext( "/root/python/a.txt" ) ( '/root/python/a' , '.txt' ) >>> os.path.splitext( "a.txt" ) ( 'a' , '.txt' ) >>> os.path.splitext( "a.txt" ) ( 'a' , '.txt' ) >>> os.path.splitext( "/a.txt" ) ( '/a' , '.txt' ) >>> os.path.splitext( "root/a.txt" ) ( 'root/a' , '.txt' ) walk(top, func, arg) Directory tree walk with callback function. For each directory in the directory tree rooted at top (including top itself, but excluding '.' and '..' ), call func(arg, dirname, fnames). dirname is the name of the directory, and fnames a list of the names of the files and subdirectories in dirname (excluding '.' and '..' ). func may modify the fnames list in - place (e.g. via del or slice assignment), and walk will only recurse into the subdirectories whose names remain in fnames; this can be used to implement a filter , or to impose a specific order of visiting. No semantics are defined for , or required of, arg, beyond that arg is always passed to func. It can be used, e.g., to pass a filename pattern, or a mutable object designed to accumulate statistics. Passing None for arg is common. #os.path.walk() 函数声明:walk(top,func,arg) 1 >参数top表示需要遍历的目录树的路径 2 >参数func表示回调函数,对遍历路径进行处理.所谓回调函数,是作为某个函数的参数使用,当某个时间触发时,程序将调用定义好的回调函数处理某个任务.回调函数必须提供 3 个参数:第 1 个参数为walk()的参数tag,第 2 个参数表示目录列表,第 3 个参数表示文件列表 3 >参数arg是传递给回调参数func的元组.回调函数的一个参数必须是arg,为回调函数提供处理参数.参数arg可以为空 exp:>>> def myvisit(a, dir , files): ... print dir , ": %d files" % len (files) >>> os.path.walk( '/root' ,myvisit, None ) / root : 12 files / root / python : 3 files / root / python / [ 0 - 4 ] : 0 files / root / install : 5 files / root / install / nagios - plugins - 1.4 . 16 : 53 files / root / install / nagios - plugins - 1.4 . 16 / pkg : 3 files DATA __all__ = [ 'normcase' , 'isabs' , 'join' , 'splitdrive' , 'split' , 'splite... altsep = None curdir = '.' defpath = ':/bin:/usr/bin' devnull = '/dev/null' extsep = '.' pardir = '..' pathsep = ':' sep = '/' supports_unicode_filenames = False |