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 读取指定目录及其子目录下所有文件名相关推荐

  1. php 获取所有子目录名,php读取目录及子目录下所有文件名的方法,_PHP教程

    php读取目录及子目录下所有文件名的方法, 本文实例讲述了php读取目录及子目录下所有文件名的方法,分享给大家供大家参考.具体实现方法如下: 一般来说php中读取目录下的文件名的方式确实不少,最简单的 ...

  2. php读取目录及子目录下所有文件名的方法

    本文实例讲述了php读取目录及子目录下所有文件名的方法,分享给大家供大家参考.具体实现方法如下: 一般来说php中读取目录下的文件名的方式确实不少,最简单的是scandir,具体代码如下: $dir= ...

  3. 打印 指定目录下和子目录下的的所有.java文件的路径. (使用FileFilter过滤器)

    1 package test; 2 /* 3 * 打印 指定目录下和子目录下的的所有.java文件的路径. 4 * */ 5 import java.io.*; 6 import java.util. ...

  4. 【shell】shell下获取指定目录及子目录下的所有文件或指定文件

    Date:2018.7.8 shell下获取指定目录下的所有文件或指定文件: 方法一: funtion getAllFilesfor files in `find $1 -name "*.t ...

  5. 练习:查找指定目录(包括子目录)下的视频(格式为.mp4,.rmvb,.avi),并将目录存放在一个文件中...

    import osdef search_file(start_dir,target):os.chdir(start_dir) #切换目录for each_file in os.listdir(os.g ...

  6. 复制指定目录包括子目录下的所有指定类型的文件

    将下列代码复制到txt文本中.保存成后缀名为.bat的文件.然后运行即可. 方案:复制指定文件夹下及其所有子文件夹内 后缀名相同的文件.bat 代码: xcopy /e d:\a\*.txt e:\2 ...

  7. Linux复制指定目录及子目录下特定类型的文件

    方法一:通过完全复制然后删除指定类型的文件完成 Step1 使用cp命令复制所有文件 cp -r test/ test2 将测试目录test下所有内容完全复制到test2 Step2 组合使用find ...

  8. 【Windows】递归搜索指定目录及其子目录下所有文件内容

    1.cmd命令-findstr https://blog.csdn.net/shenshen211/article/details/80050865 亲测有效,但容易出现FINDSTR: 写入错误. ...

  9. python打开指定文件-python打包压缩、读取指定目录下的指定类型文件

    下面通过代码给大家介绍python打包压缩指定目录下的指定类型文件,具体代码如下所示: import os import datetime import tarfile import fnmatch ...

最新文章

  1. socket与TcpListener/TcpClient/UdpClient 的区别及联系
  2. python的excel数据分析_excel VS python 谁更适合数据分析?
  3. 控制器对应view生命周期
  4. 为什么现在年轻人都在寻找副业、兼职?难道只有物价生活成本上涨?
  5. java判断字符串是子串_【Java】判断字符串是否包含子字符串
  6. php注册变量函数,PHP变量函数
  7. Java Lock的使用
  8. excel中相对引用、绝对引用、混合引用
  9. CCS3.3 新建工程遇到的问题
  10. 手写Vue个人组件库——fl-Lazyimg 图片懒加载
  11. 《炬丰科技-半导体工艺》 组合式 CMP 和晶片清洗装置方法
  12. 计算机系统的组成的动画微课,快速制作动画式微课,就是这么简单
  13. 浅谈tcp协议与tcp_tw
  14. 算法的时间复杂度分析之O(logn)、O(nlogn)
  15. visio2007类图实现关系
  16. 一文教你弄懂Flink核心功能和原理
  17. 【安全】网络安全态势感知(转载)
  18. java统计一段英文中单词及个数
  19. ROS+科大讯飞语音识别控制机器人
  20. 富文本编辑器CKeditor的配置和图片上传,看完不后悔

热门文章

  1. 鞋底磨损太厉害?这是病呀得治
  2. HITCS大作业论文——Hello的一生
  3. TP6 重定向redirec使用场景
  4. APPLETON瞬时接触式按钮开关MCGILL系列
  5. oppo手机中C语言程序,OPPO新手机不支持type-c?那有什么用呢
  6. 进程CPU使用率计算
  7. 企微私域运营销售额如何提升?
  8. 分布式微服务架构体系详解
  9. 小新近来魂不守舍,一直思索这样一个问题?3行代码解决GIF圆角问题
  10. String类型相加随笔