Python 代码实现 获取文件里所有文件(包含子文件)的名称与目录

Python基于ArcGis的工具开发中,我们常常需要获取文件夹里所有文件的文件名称,包含子文件夹中的文件,然后多文件批量进行处理

获取文件夹中扩展名相同的文件名称

第一步:先定义一个函数

第二步:获取文件夹所有文件

第三步:新建一存放文件夹名称的空列表

第四步:遍历所有文件

如果含有子文件夹,回调本函数

如果后缀名相同,添加到文件名称列表

下面提供一下实现的代码供大家参考!

获取文件里所有文件的名称:

def getfile_name(ml,hzm):
    files=os.listdir(ml)
    filelist=[]
    for filename in files:
        if os.path.isdir(ml+'/'+filename):
            filelist.extend(getfile_name(ml+'/'+filename,hzm))#回调函数,对所有子文件夹进行搜索
        elif os.path.isfile(ml+'/'+filename):
            if filename.lower().endswith(hzm.lower()):#文件后缀名相同
                filelist.append(filename)
                arcpy.AddMessage("文件名称:",filename)
        else:
            arcpy.AddMessage("wzwj:%S",filename)
    return filelist

获取文件里所有文件的目录:

def getfile_fullpath_name(ml,hzm):
    files=os.listdir(ml)
    filelist=[]
    for filename in files:
        if os.path.isdir(ml+'/'+filename):
            filelist.extend(getfile_path_name(ml+'/'+filename,hzm))#回调函数,对所有子文件夹进行搜索
        elif os.path.isfile(ml+'/'+filename):
            if filename.lower().endswith(hzm.lower()):#文件后缀名相同
                filelist.append(ml+'/'+filename)
        else:
            arcpy.AddMessage("wzwj:%S",filename)
    arcpy.AddMessage("文件目录:",filelist)
    return filelist

希望对大家有所帮助

本人初学者,如果有错误,希望大家评论区指出错误,多谢!!!!!!!!

你可能感兴趣的:(python,list,pycharm)