Python os.path模块

os.path模块

  • basename('文件路径')    去掉目录路径,返回fname文件名
1 import os
2 os.path.basename('/Volumes/1.mp4')   #输出('1.mp4')
  • dirname('文件路径')    去掉文件名,返回目录路径
1 import os
2 os.path.dirname('/Volumes/1.mp4')   #输出('/Volumes')
  •  splitdrive('文件路径')    返回(drivername,fpath)元组
1 import os
2 os.path.splitdrive('Volumes/1.mp4')   #输出('','/Volumes/1.mp4')
  • os.path.split('文件路径')    分割文件名与路径;返回(fpath,fname)元组;如果完全使用目录,它也会将最后一个目录作为文件名分离,且不会判断文件或者目录是否存在
1 import os
2 os.path.split('/Volumes/1.mp4')    #输出(‘/Volumes’,‘1.mp4’)
3 os.path.split('/Volumes/text')     #输出(‘/Volumes’,‘text’)
  • os.path.splitext(“文件路径”)    分离文件名与扩展名;默认返回(fname,fextension)元组,可做分片操作
1 import os
2 fname, fextension=os.path.splitext('/Volumes/Leopard/Users/Caroline/Desktop/1.mp4')
3 print fname,fextension   #输出/Volumes/Leopard/Users/Caroline/Desktop/1 .mp4
4 os.path.splitext('/Volumes/Leopard/Users/Caroline/Desktop/1.mp4')[1:]  #输出('.mp4',)
  • os.path.join('a','b','fname.extension')->'a/b/fname.extension'    将分离的部分组成一个路径名
1 imprort os
2 os.path.join('a','b','1.mp4')  #输出#‘a/b/1.mp4’

查询:返回值True,False

  • exists()    指定路径(文件或者目录)是否存在
  • isabs()    指定路径是否为绝对路径
  • isdir()    指定路径是否存在且为一个目录
  • isfile()    指定路径是否存在且为一个文件
  • islink()    指定路径是否存在且为一个符号链接
  • ismount()    指定路径是否存在且为一个挂载点  ???
  • samefile()    两个路径名是否指向同一个文件


文件信息

  • getatime()    返回最近访问时间  (浮点型秒数)
  • getctime()    返回文件创建时间
  • getmtime()    返回最近文件修改时间
  • getsize()    返回文件大小 (字节为单位)
  • abspath()    返回绝对路径
  • normpath()    规范path字符串形式  ???
01 import os
02 import time
03 file='/Volumes/Leopard/Users/Caroline/Desktop/1.mp4'
04 os.path.getatime(file)   #输出最近访问时间1318921018.0
05 os.path.getctime(file)   #输出文件创建时间
06 os.path.getmtime(file)   #输出最近修改时间
07 time.gmtime(os.path.getmtime(file))   #以struct_time形式输出最近修改时间
08 os.path.getsize(file)    #输出文件大小(字节为单位)
09 os.path.abspath(file)    #输出绝对路径'/Volumes/Leopard/Users/Caroline/Desktop/1.mp4'
10 os.path.normpath(file)   #输出'/Volumes/Leopard/Users/Caroline/Desktop/1.mp4'


os.path.abspath(path)
返回path规范化的绝对路径。
>>> os.path.abspath('test.csv')
'C:\\Python25\\test.csv'
>>> os.path.abspath('c:\\test.csv')
'c:\\test.csv'
>>> os.path.abspath('../csv\\test.csv')
'C:\\csv\\test.csv'

os.path.split(path)
将path分割成目录和文件名二元组返回。
>>> os.path.split('c:\\csv\\test.csv')
('c:\\csv', 'test.csv')
>>> os.path.split('c:\\csv\\')
('c:\\csv', '')

os.path.dirname(path)
返回path的目录。其实就是os.path.split(path)的第一个元素。
>>> os.path.dirname('c:\\csv\test.csv')
'c:\\'
>>> os.path.dirname('c:\\csv')
'c:\\'

os.path.basename(path)
返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素。
>>> os.path.basename('c:\\test.csv')
'test.csv'
>>> os.path.basename('c:\\csv')
'csv' (这里csv被当作文件名处理了)
>>> os.path.basename('c:\\csv\\')
''
os.path.commonprefix(list)
返回list中,所有path共有的最长的路径。
如:
>>> os.path.commonprefix(['/home/td','/home/td/ff','/home/td/fff'])
'/home/td'

os.path.exists(path)
如果path存在,返回True;如果path不存在,返回False。
>>> os.path.exists('c:\\')
True
>>> os.path.exists('c:\\csv\\test.csv')
False

os.path.isabs(path)
如果path是绝对路径,返回True。

os.path.isfile(path)
如果path是一个存在的文件,返回True。否则返回False。
>>> os.path.isfile('c:\\boot.ini')
True
>>> os.path.isfile('c:\\csv\\test.csv')
False
>>> os.path.isfile('c:\\csv\\')
False

os.path.isdir(path)
如果path是一个存在的目录,则返回True。否则返回False。
>>> os.path.isdir('c:\\')
True
>>> os.path.isdir('c:\\csv\\')
False
>>> os.path.isdir('c:\\windows\\test.csv')
False

os.path.join(path1[, path2[, ...]])
将多个路径组合后返回,第一个绝对路径之前的参数将被忽略。
>>> os.path.join('c:\\', 'csv', 'test.csv')
'c:\\csv\\test.csv'
>>> os.path.join('windows\temp', 'c:\\', 'csv', 'test.csv')
'c:\\csv\\test.csv'
>>> os.path.join('/home/aa','/home/aa/bb','/home/aa/bb/c')
'/home/aa/bb/c'

os.path.normcase(path)
在Linux和Mac平台上,该函数会原样返回path,在windows平台上会将路径中所有字符转换为小写,并将所有斜杠转换为饭斜杠。
>>> os.path.normcase('c:/windows\\system32\\')
'c:\\windows\\system32\\'

os.path.normpath(path)
规范化路径。
>>> os.path.normpath('c://windows\\System32\\../Temp/')
'c:\\windows\\Temp'

os.path.splitdrive(path)
>>> os.path.splitdrive('c:\\windows')
('c:', '\\windows')

os.path.splitext(path)
>>> os.path.splitext('c:\\csv\\test.csv')
('c:\\csv\\test', '.csv')
 
os.path.getsize(path)
返回path的文件的大小(字节)。

>>> os.path.getsize('c:\\boot.ini')
299L


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值