积累一些常用的模块,可以让我们在写程序的时候事半功倍,下面记录一下os.path模块的一些常用函数及用法。
os.path模块
basename('文件路径') 去掉目录路径,返回fname文件名
>>> os.path.basename('/home/addam/aa/test.txt') 'test.txt'
dirname('文件路径') 去掉文件名,返回目录路径
>>> os.path.dirname('/home/addam/aa/test.txt') '/home/addam/aa'
join() 将分离的各部分组合成一个路径名
>>> os.path.join('/addam','test.txt') '/addam/test.txt'
split()
分割文件名与路径;返回(fpath,fname)元组;如果完全使用目录,它也会将最后一个目录作为文件名分离,且不会判断文件或者目录是否存在
>>> os.path.split('/home/addam/aa/test.txt') ('/home/addam/aa', 'test.txt')
os.path.splitext(“文件路径”) 分离文件名与扩展名;默认返回(fname,fextension)元组,可做分片操作
>>> os.path.splitext('/home/addam/aa/test.txt') ('/home/addam/aa/test', '.txt') >>> os.path.splitext('/home/addam/aa/test.txt')[0] '/home/addam/aa/test' >>> os.path.splitext('/home/addam/aa/test.txt')[1] '.txt'
查询函数:主要是判断真假
exists() 指定路径(文件或者目录)是否存在
>>> os.path.exists('/home/addam/')
True
>>> os.path.exists('/home/addam/aa/test.txt') True >>> os.path.exists('/home/addam/') True >>> os.path.exists('/home/addam/test') False
isabs() 指定路径是否为绝对路径
>>> os.path.isabs('/home/addam/') True
isfile() 指定的路径是否为一个文件
>>> os.path.isfile('/home/addam/aa/test.txt') True >>> os.path.isfile('/home/addam/aa') False
samefile() 两个路径名是否指向同一个文件
查询文件信息:
getatime() 返回最近访问时间 (浮点型秒数)
>>> os.path.getatime('/home/addam') 1397222714.6862574
这种时间戳格式的时间看起来太别扭了,怎么办呢?转换一下吧,利用python自带的time模块
>>> time.strftime('%Y_%m_%d %H:%M:%S',time.localtime(os.path.getatime('/home/addam/aa/test.txt'))) '2014_04_11 21:30:30'
getctime() 返回文件创建时间
>>> time.strftime('%Y_%m_%d %H:%M:%S',time.localtime(os.path.getctime('/home/addam/aa/test.txt'))) '2014_04_11 21:25:25
>>> os.path.getctime('/home/addam') 1397222712.2982574
getmtime() 返回最近文件修改时间
>>> time.strftime('%Y_%m_%d %H:%M:%S',time.localtime(os.path.getctime('/home/addam/'))) '2014_04_11 21:25:12'
>>> os.path.getmtime('/home/addam') 1397222712.2982574