龙空技术网

用Python获取子目录或文件列表

大器待成 213

前言:

眼前朋友们对“python读取文件夹内所有文件名”大约比较注重,大家都想要学习一些“python读取文件夹内所有文件名”的相关文章。那么小编也在网络上收集了一些有关“python读取文件夹内所有文件名””的相关资讯,希望我们能喜欢,小伙伴们一起来学习一下吧!

在Python编程中,如果需要对文件进行操作的话,有时会需要搜索指定目录下的特定类型的文件。获取子目录或文件列表用得较多的是os.walker和glob。大器推荐你用glob,从下面的示例代码可以显而易见地看出glob完成相同的功能代码更简洁易读。

glob

如果需要递归列出目录下的子目录或子目录下的文件需要使用**通配符,并且设置参数recursive为True,这样**通配符才可以匹配零到多个子目录。注意此特性要求Python的版本在3.5及以上。

列出指定目录下的所有.doc文件

from glob import globfiles = [f for f in glob('I:/work/*.doc')]for f in files:    print(f)

列出指定目录和子目录下的所有.doc文件

from glob import globfiles = [f for f in glob('I:/work/**/*.doc', recursive=True)]for f in files:    print(f)

列出指定目录和子目录下的所有目录

from glob import globdirs = [d for d in glob('I:/work/**/', recursive=True)]for d in dirs:    print(d)
os.walker

os.walker无法只列出指定目录下的所有.doc文件,因此未给出示例代码。

列出指定目录和子目录下的所有.doc文件

import osfiles = []# r=root d=dirs f=filesfor r, d, f in os.walk('I:/work/'):    for name in f:        if name.endswith('.doc'):            files.append(os.path.join(r, name))for f in files:    print(f)

列出指定目录和子目录下的所有目录

import osdirs = []# r=root d=dirs f=filesfor r, d, f in os.walk('I:/work/'):    for name in d:        dirs.append(os.path.join(r, name))for d in dirs:    print(d)

标签: #python读取文件夹内所有文件名 #python包搜索路径 #python上级目录 #python获取文件列表 #python获取文件夹列表