下面的内容是python中对于文件路径的一些操作,还包含文件元数据的提取:
#-*-coding:UTF-8-*- #文件操作 import os print os.getcwd() #返回当前的工作路径 os.chdir('C:/Users/Administrator/Desktop') #更改路径到,不要用‘\’,容易引起转义,中文有兼容性问题 print os.getcwd() import os.path print (os.path.join('C:/Users/Administrator/Desktop','书籍')) #join()函数可以从一个或者是多个路径中拼接一个字符串 print os.path.split('C:/Users/Administrator/Desktop') #分隔文件路径,用于提取文件名返回一个元组(a,b)a为文件夹,b为文件夹或者文件名 print os.path.splitext("abc.txt") #用来分隔文件名和文件后缀名,得到结果为('abc','.txt') #罗列目录内容,用到了一个新的标准库glob import glob os.chdir('C:/Users/Administrator/Desktop') print glob.glob('*.pdf') #返回当前目录下的*.pdf所匹配的文件和文件夹 #获取文件元信息,现在每个文件都有一些元信息被文件系统保存着,像什么创建时间,最后修改时间,文件大小等等 os.chdir('C:/Users/Administrator/Desktop') metadata=os.stat("a.jpg") #返回了一个元信息对象 print metadata print metadata.st_mtime #st_mtime代表的是最后的修改时间,返回的是一个从1970年1月1日到现在的秒数,要转换 import time print time.localtime(metadata.st_mtime) #根据从纪元到现在的秒数返回一个包含年、月、日、小时、分钟、秒的结构体 print metadata.st_size #返回文件的大小,单位为字节数 #构造绝对路径 print os.getcwd() print os.path.realpath('a.jpg') #选取当前目录下的一个文件,返回这个文件的绝对路径
结果:
C:\Users\Administrator\Desktop
C:/Users/Administrator/Desktop\书籍
('C:/Users/Administrator', 'Desktop')
('abc', '.txt')
[]
nt.stat_result(st_mode=33206, st_ino=0L, st_dev=0, st_nlink=0, st_uid=0, st_gid=0, st_size=76128L, st_atime=1333074392L, st_mtime=1333074370L, st_ctime=1333074392L)
1333074370.2
time.struct_time(tm_year=2012, tm_mon=3, tm_mday=30, tm_hour=10, tm_min=26, tm_sec=10, tm_wday=4, tm_yday=90, tm_isdst=0)
76128
C:\Users\Administrator\Desktop
C:\Users\Administrator\Desktop\a.jpg