本文实例讲述了python获取指定目录下所有文件名列表的方法。分享给大家供大家参考。具体实现方法如下:
这里python代码实现获取文件名列表的功能,可以指定文件中包含的字符,方便提取特定类型的文件名列表:
# -*- coding: utf-8 -*-
#~ #——————————————————————
#~ module:wlab
#~ filename:wgetfilelist.py
#~ function :
#~ def issubstring(substrlist,str)
#~ def getfilelist(findpath,flagstr=[]):
#~ 功能:读取指定目录下特定类型的文件名列表
#~ data: 2013-08-08,星期四
#~ author:吴徐平
#~ email:wxp07@qq.com
#~ #——————————————————————
#~ #——————————————————————
def issubstring(substrlist,str):
””’
#判断字符串str是否包含序列substrlist中的每一个子字符串
#>>>substrlist=[‘f’,’ems’,’txt’]
#>>>str=’f06925ems91.txt’
#>>>issubstring(substrlist,str)#return true (or false)
”’
flag=true
for substr in substrlist:
if not(substr in str):
flag=false
return flag
#~ #———————————————————————-
def getfilelist(findpath,flagstr=[]):
””’
#获取目录中指定的文件名
#>>>flagstr=[‘f’,’ems’,’txt’] #要求文件名称中包含这些字符
#>>>filelist=getfilelist(findpath,flagstr) #
”’
import os
filelist=[]
filenames=os.listdir(findpath)
if (len(filenames)>0):
for fn in filenames:
if (len(flagstr)>0):
#返回指定类型的文件名
if (issubstring(flagstr,fn)):
fullfilename=os.path.join(findpath,fn)
filelist.append(fullfilename)
else:
#默认直接返回所有文件名
fullfilename=os.path.join(findpath,fn)
filelist.append(fullfilename)
#对文件名排序
if (len(filelist)>0):
filelist.sort()
return filelist
可以使用pip在线安装wlab
pip install wlab
还是给个图吧:
希望本文所述对大家的python程序设计有所帮助。