遍历目标文件夹下所有文件
2008-10-13 17:48
148 查看
import os
#全局变量设置歌曲预定格式
Const_Song_Format=["mp3","wma","ogg"]
class BASE:
#类变量,设置文件列表
fileList=[""]
#类变量,设置文件计算
counter=0
def __init__(self):
pass
def RecusWalkDir(self,dir,filtrate=0):
"""本方法递归遍历目的文件夹中所有文件,获取指定格式的文件绝对地址,利用类变量fileList存储地址"""
global Const_Song_Format
for s in os.listdir(dir):
newDir=dir+"/"+s
if os.path.isdir(newDir):
self.RecusWalkDir(newDir)
else:
if os.path.isfile(newDir):
if filtrate:
if newDir and (self.GetFileFormat(newDir) in Const_Song_Format):
self.__class__.fileList.append(newDir)
self.__class__.counter+=1
else:
self.__class__.fileList.append(newDir)
self.__class__.counter+=1
def CycWalkDir(self,dir,filtrate=0):
"""本方法循环遍历文件夹中所有文件,获取指定格式的文件绝对地址,返回歌曲列表fileList"""
global Const_Song_Format
fileList=[""]
for s in os.listdir(dir):
newDir=dir+"/"+s
if os.path.isfile(newDir):
if filtrate:
if newDir and (self.GetFileFormat(newDir) in Const_Song_Format):
fileList.append(newDir)
else:
fileList.append(newDir)
else:
newDir=dir+"/"+s
while os.path.isdir(newDir):
for s in os.listdir(dir):
newDir=dir+"/"+s
if os.path.isfile(newDir):
if filtrate:
if newDir and (self.GetFileFormat(newDir) in Const_Song_Format):
fileList.append(newDir)
else:
fileList.append(newDir)
else:
newDir=dir+"/"+s
return fileList
def GetFileFormat(self,fileName):
"""返回文件格式"""
if fileName:
BaseName=os.path.basename(fileName)
str=BaseName.split(".")
return str[-1]
else:
return fileName
if __name__=="__main__":
b=BASE()
b.RecusWalkDir(dir="E:/音乐无限")
print (b.counter)
for k in b.fileList:
print k
#全局变量设置歌曲预定格式
Const_Song_Format=["mp3","wma","ogg"]
class BASE:
#类变量,设置文件列表
fileList=[""]
#类变量,设置文件计算
counter=0
def __init__(self):
pass
def RecusWalkDir(self,dir,filtrate=0):
"""本方法递归遍历目的文件夹中所有文件,获取指定格式的文件绝对地址,利用类变量fileList存储地址"""
global Const_Song_Format
for s in os.listdir(dir):
newDir=dir+"/"+s
if os.path.isdir(newDir):
self.RecusWalkDir(newDir)
else:
if os.path.isfile(newDir):
if filtrate:
if newDir and (self.GetFileFormat(newDir) in Const_Song_Format):
self.__class__.fileList.append(newDir)
self.__class__.counter+=1
else:
self.__class__.fileList.append(newDir)
self.__class__.counter+=1
def CycWalkDir(self,dir,filtrate=0):
"""本方法循环遍历文件夹中所有文件,获取指定格式的文件绝对地址,返回歌曲列表fileList"""
global Const_Song_Format
fileList=[""]
for s in os.listdir(dir):
newDir=dir+"/"+s
if os.path.isfile(newDir):
if filtrate:
if newDir and (self.GetFileFormat(newDir) in Const_Song_Format):
fileList.append(newDir)
else:
fileList.append(newDir)
else:
newDir=dir+"/"+s
while os.path.isdir(newDir):
for s in os.listdir(dir):
newDir=dir+"/"+s
if os.path.isfile(newDir):
if filtrate:
if newDir and (self.GetFileFormat(newDir) in Const_Song_Format):
fileList.append(newDir)
else:
fileList.append(newDir)
else:
newDir=dir+"/"+s
return fileList
def GetFileFormat(self,fileName):
"""返回文件格式"""
if fileName:
BaseName=os.path.basename(fileName)
str=BaseName.split(".")
return str[-1]
else:
return fileName
if __name__=="__main__":
b=BASE()
b.RecusWalkDir(dir="E:/音乐无限")
print (b.counter)
for k in b.fileList:
print k
相关文章推荐
- Python-遍历目标文件夹下所有文件
- 如何递归遍历文件夹里所有文件
- 【Python】遍历文件夹,得到所有文件
- (转)C++遍历文件夹下所有文件
- 用VC遍历文件夹中的所有文件及文件夹
- 递归遍历文件夹下所有文件
- 使用php scandir()函数遍历文件夹并输出所有文件路径
- 使用php scandir()函数遍历文件夹并输出所有文件路径
- JS如何遍历一个文件夹下的所有文件与目录
- C# 使用foreach语句遍历指定文件夹中的所有文件或文件夹
- php遍历一个文件夹下的所有文件和子文件
- MFC遍历指定目录下的所有文件/文件夹(不遍历子目录)
- C#遍历指定文件夹中的所有文件
- 面试题-程序题-Java递归实现遍历文件目录(所有文件夹和子文件)
- C#遍历指定文件夹中的所有文件
- c++遍历查找文件夹路径下的所有文件(比如.txt) 使用的是MFC的CFileFind类
- C#遍历指定文件夹中的所有文件
- 【转载】VC遍历文件夹下所有文件和文件夹
- C++遍历文件夹下的所有文件
- C++遍历文件夹下的所有文件