os.path模块用于跨平台操作路径名称,它是由os模块导入。
其中重要的函数如下:
一、路径处理
1、abspath(path) .返回路径名称path的绝对路径,同时将当前的工作目录考虑在内。
2、basename(path),返回路径名称path的基本名称。即去掉目录路径,返回最后的文件名。如果path只是目录路径,返回空字符串。如os.path.basename("c:\\1.txt")返回'1.txt'。
3、dirname(path),返回path的目录路径。即去掉文件名,返回目录路径。如os.path.dirname("c:\\1.txt")返回'c:\\'
4、splitdrive(path)返回(drive,filename)元组。例如os.path.splitdrive("c:\\1.txt")返回('c:','\\1.txt')。其中drive是驱动器说明或空字符串。在没有驱动器说明的系统上,drive始终是空字符串。
5、split(path)返回(head,tail)元组,分割文件名和路径。如果完全使用目录,它也会将最后一个目录作为文件名分离,且不会判断文件或者目录是否存在。
6、splittext(path)分离文件名和扩展名。
import os fname, fextension=os.path.splitext('/Volumes/Leopard/Users/Caroline/Desktop/1.mp4') print fname #结果是'/Volumes/Leopard/Users/Caroline/Desktop/1’ print fextension #结果是'.mp4'
7、join(path1,[path2,[path3]])将一个或多个路径智能的连接在一起组成一个路径名称。例如os.path.join('a','b','fname.extension')结果Linux下为'a/b/fname.extension',windows为'a\\b\\fname.extension'。
8、normpath(path)标准化路径名称,将折叠多余分隔符和上层引用。
二、查询函数,返回True或False
1、exists(path) 如果path引用的是现有路径,则返回True。如果path是已损坏的符号链接,返回False。
lexist(path)如果path存在,返回True。对所有的符号链接均返回True,不管损坏与否。
2、isabs(path) 判断路径path是否为绝对路径。
3、isdir(path) 判断指定路径是否存在且为一个目录
4、isfile(path)判断指定路径是否存在且为一个文件
5、islink(path) 判断指定路径是否存在且为一个符号链接
6、ismount(path) 判断指定路径是否存在且为一个挂载点
7、samefile(path1,path2) 用于*nix,判断path1和path2是否引用相同的文件或目录。
三、文件信息
1、getatime(path) 返回最近访问时间(返回从纪元开始的浮点型秒数,参考time模块)
2、getctime(path) 返回文件创建时间。
3、getmtime(path) 返回文件最近修改时间。
4、getsize(path) 返回文件大小(以字节为单位)。如果是文件夹,则返回文件夹自己占的大小,不包括内部文件大小。
5、