本文实例讲述了python获取指定目录下所有文件名列表的方法。分享给大家供大家参考。具体实现方法如下:
这里python代码实现获取文件名列表的功能,可以指定文件中包含的字符,方便提取特定类型的文件名列表:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
# -*- 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
1
|
pip install wlab
|
还是给个图吧:
希望本文所述对大家的Python程序设计有所帮助。