想获得一个目录中所有文件的列表,可以如下:
# coding: utf-8
import os
FindPath="E:/PythonExample"
filenames=os.listdir(FindPath)
for name in filenames:
filePath=os.path.join(FindPath,name)
print(filePath)
上面的方法比较实用。
有时想查找特定类型的文件,或者判断一个文件名中是否保护某个字符,请看下面的例子:
import os
def IsSubString(SubStrList,Str):
flag=True
for substr in SubStrList:
if not(substr in Str):
flag=False
return flag
def GetFileList(FindPath,FlageStr):
FileList=[]
FileNames=os.listdir(FindPath)
for fn in FileNames:
if (IsSubString(FlagStr,fn)):
fullfilename=os.path.join(FindPath,fn)
FileList.append(fullfilename)
return FileList
FindPath="/d3/MWRT/R20130805/"
# 查找指定目录下文件名中包含F06925,EMS和txt字符的文件
FlagStr=['F06925','EMS','txt']
FileList=GetFileList(FindPath,FlagStr)
print(FileList)
上面IsSubString函数判断字符串中是否包含有子字符串,
GetFileList则从指定的目录中查找特定类型的文件名,返回文件名列表
使用pip安装wlab模块,wlab模块已添加了上面的两个函数,安装命令如下:
pip install wlab