Python 遍历文件夹中的指定类型文件
2015-09-28 17:16
711 查看
首先罗列一下os.path模块的相关函数:
1.判断型函数:
exists() 指定路径(文件或者目录)是否存在
isabs() 指定路径是否为绝对路径
isdir() 指定路径是否存在且为一个目录
isfile() 指定路径是否存在且为一个文件
islink() 指定路径是否存在且为一个符号链接
ismount() 指定路径是否存在且为一个挂载点
samefile() 两个路径名是否指向同一个文件
2.文件信息型函数:
getatime() 返回最近访问时间 (浮点型秒数)
getctime() 返回文件创建时间
getmtime() 返回最近文件修改时间
getsize() 返回文件大小 (字节为单位)
abspath() 返回绝对路径
normpath() 规范path字符串形式
最后两个函数的例子:
a = “dapei-imgs_21667c16-fff5-45ca-829b-cf509f9886bb.jpg”
os.path.abspath(a)
‘D:\Python27\user\dapei-imgs\_21667c16-fff5-45ca-829b-cf509f9886bb.jpg’
os.path.normpath(a)
‘dapei-imgs\_21667c16-fff5-45ca-829b-cf509f9886bb.jpg’
另外把a写成a = “dapei-imgs/_21667c16-fff5-45ca-829b-cf509f9886bb.jpg”
结果没变化
3.路径字符串操作函数:
一个完整的路径字符串分成 abspath = driver+path+filename(name+extname)
因为有一定的格式在其中,所以对路径字符串的操作原则上都是根据这些格式进行的。
基本的分割函数有3个,都是把字符串分割成两部分
split() 把路径分成两部分,依据符合“\”,第二部分是最后一个“\”符号的右边部分
splitdrive() 把路径中的驱动器名称分割到第一部分,没有则为空,依据“:”符号
splitext() 把路径中的文件扩展名分割到第二部分,没有则为空,依据“.”符号
以split()为基础,派生出的两个函数分别对应split()返回值的第一项和第二项
dirname()
basename()
最后是一个与split()对仗的操作
join() 把多个字符串拼接成路径,插入“\”符号
下面用一个遍历文件夹下的文件来说明上述函数的应用,在实际项目中,当然可以用os.walk()或者os.path.walk()来完成这个工作(程序设计的核心是设计的创意,而不是所处的宏观层次)。
1.判断型函数:
exists() 指定路径(文件或者目录)是否存在
isabs() 指定路径是否为绝对路径
isdir() 指定路径是否存在且为一个目录
isfile() 指定路径是否存在且为一个文件
islink() 指定路径是否存在且为一个符号链接
ismount() 指定路径是否存在且为一个挂载点
samefile() 两个路径名是否指向同一个文件
2.文件信息型函数:
getatime() 返回最近访问时间 (浮点型秒数)
getctime() 返回文件创建时间
getmtime() 返回最近文件修改时间
getsize() 返回文件大小 (字节为单位)
abspath() 返回绝对路径
normpath() 规范path字符串形式
最后两个函数的例子:
a = “dapei-imgs_21667c16-fff5-45ca-829b-cf509f9886bb.jpg”
os.path.abspath(a)
‘D:\Python27\user\dapei-imgs\_21667c16-fff5-45ca-829b-cf509f9886bb.jpg’
os.path.normpath(a)
‘dapei-imgs\_21667c16-fff5-45ca-829b-cf509f9886bb.jpg’
另外把a写成a = “dapei-imgs/_21667c16-fff5-45ca-829b-cf509f9886bb.jpg”
结果没变化
3.路径字符串操作函数:
一个完整的路径字符串分成 abspath = driver+path+filename(name+extname)
因为有一定的格式在其中,所以对路径字符串的操作原则上都是根据这些格式进行的。
基本的分割函数有3个,都是把字符串分割成两部分
split() 把路径分成两部分,依据符合“\”,第二部分是最后一个“\”符号的右边部分
splitdrive() 把路径中的驱动器名称分割到第一部分,没有则为空,依据“:”符号
splitext() 把路径中的文件扩展名分割到第二部分,没有则为空,依据“.”符号
以split()为基础,派生出的两个函数分别对应split()返回值的第一项和第二项
dirname()
basename()
最后是一个与split()对仗的操作
join() 把多个字符串拼接成路径,插入“\”符号
下面用一个遍历文件夹下的文件来说明上述函数的应用,在实际项目中,当然可以用os.walk()或者os.path.walk()来完成这个工作(程序设计的核心是设计的创意,而不是所处的宏观层次)。
import os Const_Image_Format = [".jpg",".jpeg",".bmp",".png"] class FileFilt: fileList = [""] counter = 0 def __init__(self): pass def FindFile(self,dirr,filtrate = 1): global Const_Image_Format for s in os.listdir(dirr): newDir = os.path.join(dirr,s) if os.path.isfile(newDir): if filtrate: if newDir and(os.path.splitext(newDir)[1] in Const_Image_Format): self.fileList.append(newDir) self.counter+=1 else: self.fileList.append(newDir) self.counter+=1 if __name__ == "__main__": b = FileFilt() b.FindFile(dirr = "D:\Python27\user\dapei-imgs") print(b.counter) for k in b.fileList: print k
相关文章推荐
- python基础语法(4)
- python基础语法(3)
- python基础语法(2)
- HMAC-SHA1各语言版本实现
- python基础语法(1)
- eclipse+Python搭建
- Github干货系列:Python 免费资源集合
- 用python爬虫抓取知乎图片
- hack with python(二)
- python学习(二):python基本语法
- python入门之(if、for等)
- mac 64位 安装wxpython后报错解决方法
- python的asyncio资料
- python3安装Pillow(PIL)
- 转载python2进制打包相关
- python learn: 字符串
- python字典访问的三种方法
- 【error->编译环境】sh: 1: python: not found
- python--sorted函数和operator.itemgetter函数
- Python 中利用urllib2简单实现网页抓取