1. 利用字符串的前缀和后缀匹配查找文件
- str.startswith()
- star.endswith()
2.使用fnmatch
- fnmatch 判断文件名是否符合特定模式
- fnmatchchcase 判断文件名是否符合特定模式,不区分大小写
- filter 返回输入列表中,符合特定模式的文件名列表
- translate 将通配符模式换成正则表达式
fnmatch支持的通配符如下:
- * 匹配任何数量的字符
- ? 匹配单个字符
- [seq] 匹配seq中的字符
- [!seq] 匹配出seq以外的字符
fnmatch
filter
filter每次对一组文件名进行匹配,而不是单个,它需要传入文件名列表作为第一个参数
3. 使用glob
glob是标准库
4. 使用os.walk遍历目录树
walk函数会遍历当前目录及其子目录,并且对于没一个目录,返回一个三元组(dirpath,dirnames,filenames),
dirpath是当前目录,dirnames是当前目录下的所有子目录,filenames是当前目录下的所有文件。
案列:查找目录及其子目录中的的图像文件
综合案列:
一个通用的查询文件的python脚本
fnmatch_file.py
#!/usr/bin/env python
# coding=utf-8
import os
import fnmatch def is_file_match(filename, patterns):
for pattern in patterns:
if fnmatch.fnmatch(filename, pattern):
return True
return False def find_specific_files(root, patterns=['*'], exclude_dirs=[]):
for root, dirnames, filenames in os.walk(root):
for filename in filenames:
if is_file_match(filename, patterns):
if filename in filenames:
yield os.path.join(root, filename) for d in exclude_dirs:
if d in dirnames:
dirnames.remove(d)
1. 查找目录下的所有文件
2.查找所有图片
3. 除开test2以外的所有图片
4. 查找目录及子目录下最大的十个文件
Python查找文件的更多相关文章
-
python查找文件相同的和包含汉字的
#!/usr/bin/env python # Version = 3.5.2 import os import time d_path = '/data/media' log_file = 'res ...
-
python 查找文件内容
输入查找的文件夹路径,要查找的内容关键字(可以指定多个),要查找的文件类型(可以是多个),搜索出符合条件的文件,并记录所有符合条件的行号及行内容. 写的感觉有点冗余,但好歹还能使用^-^,主要是方便手 ...
-
python——根据电子表格的数据自动查找文件
最近刚接触python,找点小任务来练练手,希望自己在实践中不断的锻炼自己解决问题的能力. 经理最近又布置了一个很繁琐的任务给我:有一项很重大的项目做完了,但是要过审计(反正就是类似的审批之类的事情) ...
-
用 Python 实现文件查找
用 Python 实现文件查找(BIF实现及队列实现) (1)利用内置函数实现文件查找 1.功能:返回用户输入的文件的绝对路径 2.设计思路: (1)用户输入在哪个盘进行查找 (2)遍历此盘文件,若为 ...
-
在Python中使用glob模块查找文件路径的方法
在Python中使用glob模块查找文件路径的方法 glob模块是最简单的模块之一,内容非常少.用它可以查找符合特定规则的文件路径名.跟使用windows下的文件搜索差不多.查找文件只用到三个匹配符: ...
-
python操作文件案例二则
前言 python 对于文件及文件夹的操作. 涉及到 遍历文件夹下所有文件 ,文件的读写和操作 等等. 代码一 作用:查找文件夹下(包括子文件夹)下所有文件的名字,找出 名字中含有中文或者空格的文件 ...
-
Python之文件读写
本节内容: I/O操作概述 文件读写实现原理与操作步骤 文件打开模式 Python文件操作步骤示例 Python文件读取相关方法 文件读写与字符编码 一.I/O操作概述 I/O在计算机中是指Input ...
-
Python操作文件、文件夹、字符串
Python 字符串操作 去空格及特殊符号 s.strip().lstrip().rstrip(',') 复制字符串 #strcpy(sStr1,sStr2) sStr1 = 'strcpy' sSt ...
-
Python之文件与目录操作及压缩模块(os、shutil、zipfile、tarfile)
Python中可以用于对文件和目录进行操作的内置模块包括: 模块/函数名称 功能描述 open()函数 文件读取或写入 os.path模块 文件路径操作 os模块 文件和目录简单操作 zipfile模 ...
随机推荐
-
reduce()
Professional.JavaScript.for.Web.Developers.3rd.Edition.Jan.2012 var value = [1,2,3,4,5]; var sum = v ...
-
iOS频繁打开相册崩溃: ALAssetsLibrary error - “Too many contexts. No space in contextList.”
iOS频繁打开相册崩溃: ALAssetsLibrary error - “Too many contexts. No space in contextList.” http://stackoverf ...
-
用三或四个个div标签实现工字效果
使用重构的方式制作出一个如下图的水平.垂直都居中,短边为50px,长边为150px的红色“工”字. a) 使用3个div完成 <!DOCTYPE html><html lang=&q ...
-
我是一块cpu 《转载》
我是一块cpu,原装intel,在一台普通的台式计算机里供职.我有个小弟是内存,我要靠他时时刻刻陪伴我工作,其实有时候我并不是没有某某地址的资料,而是懒得翻--麻烦. 还有一个老大哥叫bios,每次那 ...
-
Oracle 10g AND Oracle 11g手工建库案例--Oracle 11g
Oracle 10g AND Oracle 11g手工建库案例--Oracle 11g 系统环境: 操作系统: RedHat EL6 Oracle: Oracle 10g and Oracle 11 ...
-
phpredis中文开发文档
刚好要用看了网上翻译版本都是2011,2012年的,随手翻译一下新版 2017年10月28日23:48:08 使用方法 : Ctrl+F 官方英文版 https://github.com/phpred ...
-
vue-router beforeEach死循环
vue中页面跳墙处理 页面跳墙中使用 vue-router中的 beforeEach的死循环问题 问题展现 import Router from 'vue-router' const router = ...
-
.net大型平台通过Nginx做负载均衡(Web层、中间服务层、DB层)
.net平台下,我目前部署过的均衡负载有两种方式(iis7和Nginx),以下以Nginx为例讲解web层的均衡负载. 简介:Nginx 超越 Apache 的高性能和稳定性,使得国内使用 Nginx ...
-
关于cdh 5.X 的agent 客户端镜像安装注意事项
当把客户端镜像安装时,每个客户端程序会生成UUID作为唯一标识,重新 安装时要删除 rm -rf /var/lib/cloudera-scm-agent 如果不删除会造成主机列表中IP一直在变的情况.
-
NR 数据库简介
目前有很多的数据库都存储了蛋白序列,比如NCBI Refseq, protein, swissprot 等,在各个数据库之间,或者是在某个数据库中,蛋白序列有大量冗余:为了方便使用,ncbi 构建了n ...