Python 读取指定目录及其子目录下所有文件名
Python 读取指定目录及其子目录下所有文件名
本文博客地址:https://xinancsd.github.io/Python/python_search_folder.html
目标
磁盘中的文件随着积累越来越多,当要寻找某个文件时,使用 windows 的搜索速度太慢且占内存。因此想要寻找一个可以获取指定目录下的所有文件的文件名,作为一种图书馆索引目录式的文件管理方式。
在此使用 python 的os.walk()
函数实现遍历指定目录及所有子目录下的所有文件。使用 python 3.6 版本实现。
walk()函数返回目录树生成器(迭代器)。通过自顶向下遍历目录来生成目录树中的文件名。对于根目录顶部(包括顶部本身)树中的每个目录,它产生一个3元组(dirpath,dirnames,filenames)。dirpath是一个字符串,即目录的路径。
dirnames是dirpath中子目录的名称列表。filenames是dirpath中非目录文件名称的列表。但列表中的名称不包含路径,要得到一个完整路径(从顶部开始)到dirpath中的文件或目录,请执行os.path.join(dirpath,name)
。更多详情可查看 python 标准库文档os.walk() 。
实现代码如下
import os
def all_path(dirname):filelistlog = dirname + "\\filelistlog.txt" # 保存文件路径postfix = set(['pdf','doc','docx','epub','txt','xlsx','djvu','chm','ppt','pptx']) # 设置要保存的文件格式for maindir, subdir, file_name_list in os.walk(dirname):for filename in file_name_list:apath = os.path.join(maindir, filename)if True: # 保存全部文件名。若要保留指定文件格式的文件名则注释该句#if apath.split('.')[-1] in postfix: # 匹配后缀,只保存所选的文件格式。若要保存全部文件,则注释该句try:with open(filelistlog, 'a+') as fo:fo.writelines(apath)fo.write('\n')except:pass # 所以异常全部忽略即可if __name__ == '__main__':dirpath = "D:" # 指定根目录all_path(dirpath)
程序运行结束将所有文件名保存为指定目录下的 filelistlog.txt 文件。
Python 读取指定目录及其子目录下所有文件名相关推荐
- php 获取所有子目录名,php读取目录及子目录下所有文件名的方法,_PHP教程
php读取目录及子目录下所有文件名的方法, 本文实例讲述了php读取目录及子目录下所有文件名的方法,分享给大家供大家参考.具体实现方法如下: 一般来说php中读取目录下的文件名的方式确实不少,最简单的 ...
- php读取目录及子目录下所有文件名的方法
本文实例讲述了php读取目录及子目录下所有文件名的方法,分享给大家供大家参考.具体实现方法如下: 一般来说php中读取目录下的文件名的方式确实不少,最简单的是scandir,具体代码如下: $dir= ...
- 打印 指定目录下和子目录下的的所有.java文件的路径. (使用FileFilter过滤器)
1 package test; 2 /* 3 * 打印 指定目录下和子目录下的的所有.java文件的路径. 4 * */ 5 import java.io.*; 6 import java.util. ...
- 【shell】shell下获取指定目录及子目录下的所有文件或指定文件
Date:2018.7.8 shell下获取指定目录下的所有文件或指定文件: 方法一: funtion getAllFilesfor files in `find $1 -name "*.t ...
- 练习:查找指定目录(包括子目录)下的视频(格式为.mp4,.rmvb,.avi),并将目录存放在一个文件中...
import osdef search_file(start_dir,target):os.chdir(start_dir) #切换目录for each_file in os.listdir(os.g ...
- 复制指定目录包括子目录下的所有指定类型的文件
将下列代码复制到txt文本中.保存成后缀名为.bat的文件.然后运行即可. 方案:复制指定文件夹下及其所有子文件夹内 后缀名相同的文件.bat 代码: xcopy /e d:\a\*.txt e:\2 ...
- Linux复制指定目录及子目录下特定类型的文件
方法一:通过完全复制然后删除指定类型的文件完成 Step1 使用cp命令复制所有文件 cp -r test/ test2 将测试目录test下所有内容完全复制到test2 Step2 组合使用find ...
- 【Windows】递归搜索指定目录及其子目录下所有文件内容
1.cmd命令-findstr https://blog.csdn.net/shenshen211/article/details/80050865 亲测有效,但容易出现FINDSTR: 写入错误. ...
- python打开指定文件-python打包压缩、读取指定目录下的指定类型文件
下面通过代码给大家介绍python打包压缩指定目录下的指定类型文件,具体代码如下所示: import os import datetime import tarfile import fnmatch ...
最新文章
- socket与TcpListener/TcpClient/UdpClient 的区别及联系
- python的excel数据分析_excel VS python 谁更适合数据分析?
- 控制器对应view生命周期
- 为什么现在年轻人都在寻找副业、兼职?难道只有物价生活成本上涨?
- java判断字符串是子串_【Java】判断字符串是否包含子字符串
- php注册变量函数,PHP变量函数
- Java Lock的使用
- excel中相对引用、绝对引用、混合引用
- CCS3.3 新建工程遇到的问题
- 手写Vue个人组件库——fl-Lazyimg 图片懒加载
- 《炬丰科技-半导体工艺》 组合式 CMP 和晶片清洗装置方法
- 计算机系统的组成的动画微课,快速制作动画式微课,就是这么简单
- 浅谈tcp协议与tcp_tw
- 算法的时间复杂度分析之O(logn)、O(nlogn)
- visio2007类图实现关系
- 一文教你弄懂Flink核心功能和原理
- 【安全】网络安全态势感知(转载)
- java统计一段英文中单词及个数
- ROS+科大讯飞语音识别控制机器人
- 富文本编辑器CKeditor的配置和图片上传,看完不后悔