多语言展示
当前在线:1850今日阅读:86今日分享:14

python读取多层文件夹中的所有数据文件

大家可能经常会碰到一个场景,给定一个文件夹后和文件类型后可能需要遍历出这个文件夹下所有子文件夹中所有的特定文件类型的文件,那用Python如何实现呢?下面我们介绍一下几种实现方法。
工具/原料
1

python tutorial

2

python 默认的document用来查询一些函数在安装包中是自带的

方法/步骤
1

首先介绍第一种方法,可能这种方法在3.X以后版本才会有,我在经典的2.7版本上没有见到过。这种写法类似广度搜索得到所有*.dat type类型的文件from pathlib import Path  #从pathlib中导入Pathp=Path('路径名')#初始化构造Path对象FileList=list(p.glob('**/*.dat'))得到所有的*.dat类型的文件然后就可以进行遍历处理这些文件数据了for File in FileList:     Deal(File)

2

广度算法第一步,我们使用的是Path对象from pathlib import Path  #从pathlib中导入Path

3

第二步用路径名初始化构造出Path对象p=Path('路径名')#初始化构造Path对象

4

第三步可以通过调用Path对象的glob方法来进行查询所有从目录中的类型文件FileList=list(p.glob('**/*.dat'))得到所有的*.dat类型的文件,这时候已经达到目的了。但是此时一定要记住不要使用FileList=list(p.glob('**/*.dat')),负责你得到的结果就是如下了,可以和第一张作对比。

5

现在汇总一下纯伪代码版本:from pathlib import Pathp=Path('路径名')FileList=list(p.glob('**/什么类型文件'))for File in FileList:     处理(File)

注意事项
1

这个试用版本支持pathlib库

2

FileList返回的是对应操作系统下的Path,如果用纯字符串可以通过str转换的

推荐信息