python3遍历目录查找文件
来源:互联网 发布:网络流行尴舞视频 编辑:程序博客网 时间:2024/04/30 14:59
一直有一部分软件,他们的主要功能就是方便用户查找本地文件位置。python当然也可以完成这项功能,所以我写了一个简短的代码。
写完发现,python真的是一门简洁的语言啊!
我完成这个功能主要就是用了os模块的功能,直接对操作系统作用。所以这里可能需要首先讲一下部分os操作的功能,方便大家能看懂。
import osos.getcwd() #获取当前工作目录,即当前工作路径os.chdir(path) #切换路径(切换到path路径下)os.path.isdir(path) #判断路径是否存在(判断path是否存在)os.listdir() #列表形式列出指定目录下的所有文件以及其子文件os.curdir() #返回当前目录 (为'.')os.sep #这个就是分隔符,为你使用该系统的分隔符 (windows '\';linux '/')os.pardir #获取当前目录的父目录名称,字符串('..')
以上就是下面代码所用的一些os操作(当然os远不止这些,需要了解你看以看看专门讲解os模块的文章,这里就不累述了)
附上思路:
一:创建列表保存所有主目录,用来依次访问。
二:就像DFS一样,采用深度优先搜索,依次查找一个文件,如果它有子目录就继续查找,知道没有子目录。
三:在二的基础上,每查找到一个子目录是,就切换到改路径,如果到底了,就获取它的父目录返回。
四:肯定要用到的就是递归啦!!如果没找到,就返回父目录,切换路径到父目录,继续查找。
附上代码:
'''author:daihui'''import osdef finddir(startdir, target): try: os.chdir(startdir) #切换目录 except: return for new_dir in os.listdir(os.curdir): #列表出该目录下的所有文件(返回当前目录'.') print(new_dir) if new_dir == target : print("当当当 找到啦!!!!!!!!!") print (os.getcwd() + os.sep + new_dir) exit() if os.path.isdir(new_dir) : #判断路径是否存在 finddir(new_dir, target) os.chdir(os.pardir) #切换到当前目录的父目录# startdir = str(input('Please input startdir: '))# target = str(input('Please input target: '))lis = ['d:','e:','f:','g'] #更具具体需要,你可以在这里修改查找的目录target = r'要查找的文件名'for i in lis: startdir = i finddir(startdir, target)
OK!以上代码实现了输入文件名后遍历所有目录查找文件的功能。你可以更具自己的需求来修改代码。
阅读全文
1 0
- python3遍历目录查找文件
- 遍历目录查找文件
- c++ 遍历目录查找文件
- CFileFind遍历目录查找文件
- 遍历整个目录树查找文件
- 遍历整个目录树查找文件
- 如何遍历整个目录树查找文件
- android快速遍历目录及查找文件
- QT 遍历目录查找指定文件
- 多进程遍历目录并查找文件
- 递归法遍历目录查找文件
- python常用文件查找/目录遍历方法
- 遍历目录文件并查找文件中的内容
- 遍历目录查找文本
- VC++中如何遍历整个目录树查找文件
- VC++中如何遍历整个目录树查找文件
- VC++中如何遍历整个目录树查找文件
- 用gawk遍历目录查找字符串在文件中的位置
- 时空权衡——字符串匹配(Time/Space Tradeoff
- 关于PHP高并发抢购系统设计
- stm32 DMA的Stream和Channel的映射关系(STM32F7)
- 高效分页 sql 存储过程 以及 执行
- UI 设计技巧
- python3遍历目录查找文件
- 在什么时候用assert?
- Centos7 以及Ubuntu中开机启动的设置以及查看
- 让他
- 面向对象考题收集
- linux下C语言socket网络编程简例
- 平面设计排版技巧
- linux下发现redis或者mongo连接数异常多的临时解决办法
- Radar Installation poj 贪心