os.path 模块,实现了对文件路径的操作,但是不操作文件。由于不同系统文件路径格式不同,os.path 总是调用适合当前系统的版本,你也可以手动导入别的系统的(posixpath,ntpath,macpath,os2emxpath),但他们都是有相同接口的
模块方法:
abspath(path):返回 path 的绝对路径(完整路径)
basename(path):返回 path 的最后一个分割符后的内容(路径或文件名)
commonprefix(list):返回给定路径列表中最长的共同部分,由于是逐字符比较,返回值不一定是个有效路径
dirname(path):返回 path 的最后一个分割符前的内容(一般为文件的路径,包含的目录)
exists(path):判断 path 是否有效,真实存在。在有些得不到访问权限的路径下也会返回 false
expanduser(path):把 path 中最开始的“~”或“~user”替换成系统 user 路径(环境变量的HOME)
expandvars(path):用环境变量中的 name,替换 path 中的 %name%(windows特有),$name 和 ${name}
getatime(path):返回 path 最后访问时间,以秒形式返回,参考 time 模块
getmtime(path):返回 path 最后修改时间,以秒形式返回
getctime(path):返回 path 创建时间,以秒形式返回
getsize(path):以字节形式返回 path 所占磁盘空间大小
isabs(path):判断 path 是否为绝对路径
isfile(path):判断 path 是否为存在的文件
isdir(path):判断 path 是否为存在的目录
islink(path):判断 path 是否为符号链接(在 unix 中有软链接(符号链接)和硬链接概念,Windows 也有符号链接,但一般用的快捷方式不是符号链接)
ismount(path):判断 path 是否为挂载点,挂载点是linux中的磁盘文件系统的入口目录,Windows 的 c盘,d盘甚至不存在的盘(一个字母的盘名,如“z:\\”)也返回 True
join(path, *paths):连接给定的 path,如果其中有一个 path 是绝对路径或是包含了Windows的盘符(如“c:\\”),则会抛弃它之前的所有 path,对它后面的继续连接
normcase(path):标准化路径名,在 Unix 和 Mac OS X 上,path 不变,在大小写不敏感的系统里,都转成小写,Windows 还会把斜杠转成反斜杠
normpath(path):把中间多余的路径都删掉只剩下头和尾,可能会改变原路径的意思
relpath(path[, start]):返回相对于 start 的相对路径,start 默认是 os.curdir
samefile(path1, path2):判断两者是否指向相同文件或目录
sameopenfile(fp1, fp2):判断两者是否指向同一文件
samestat(stat1, stat2):两者的 stat tuple 指向同一文件则为 True,仅用于 Unix
split(path):把 path 拆成头尾两部分,尾是 path 的最后一个斜杠后的东西,头是除了尾的全部
splitdrive(path):把 path 拆成头尾两部分,头是 path 的盘符,尾是剩下部分
splitext(path):把 path 的文件扩展名分离出来
splitunc(path):把 path 拆成 (unc, rest),不是很懂,只有 path 是“\\\\**\\**\\*\\**”这样的才会被分割成(\\\\**\\**,\\*\\**)
walk(path, visit, arg):调用自定义的 visit 函数,它需要接受三个参数 arg, dirname, names。一般可以用更为简单的 os.walk 代替,python3 中已经没有了这个方法
supports_unicode_filenames:是否支持 unicode 类型字符串作为文件名