python glob标准库基础学习
#glob文件名模式匹配
#作用:使用unix shell规则查找与一个模式匹配文件名
"""
尽管glob api很小,但这个模块很强大,只要程序需要查找文件系统中名字与某种模式匹配一组文件,
就可以使用此模块,要创建一个文件名列表,要求其中各个文件名都某个特定的扩展名,前缀或者中间都有某个共同字符串。
就可以使用glob而不是编写定制代码来扫描目录内容。
glob模式与正则re模式使用正则表达式并不相同,实际上。glob模式遵循标准unix路径扩展规则,只使用
几个特殊字符来实现2个不同的通配符和字符区间,模式规则要应用于文件名中段(在路径分隔符/处截止)。
模式中路径可以是相对/绝对路径,shell变量名波浪线(~)都不会以扩展!!!!!
"""
#示例1
#测试在path/下面的文件
#名称如下path/a/a.txt b.txt c.txt d.txt /b/a.txt(只给个样子)
import glob
#如果未有此文件,请自己创建
path='path/a/*.txt'
print glob.glob(path)
#通配符*:可以匹配一个文件名段的0个或者多个,比如dir/*.*,如上面
#要列出子目录文件,必须在子目录包含在模式中
print 'path *:'
for name in glob.glob(pathname=path):
print '\t',name
#匹配单字字符串
print '?'
path='path/a/?.txt'
for name in glob.glob(pathname=path):
print '\t',name
#匹配区间字符串(如果区间在[a~z]之间,可以匹配多个中的一个字符串
print '[a-z]'
for path1 in glob.glob('path/a/*[a-z0-9A-Z].txt'):
print path1
#glob官方标准地址:https://docs.python.org/2.7/library/glob.html?highlight=glob#module-glob
#外接连(patten matching notation):http://pubs.opengroup.org/onlinepubs/000095399/utilities/xcu_chap02.html#tag_02_13
#其他:open grop的shell命令语言规范中对文件名模式匹配的解释
#fnmatch请百度或者谷歌
python glob标准库基础学习的更多相关文章
- python linecache标准库基础学习
#python标准库基础之:linecacge:高效读取文本文件#说明与作用"""可以从文件或者导入python模块获取文件,维护一个结果缓存,从而可以更高效地从相同文件 ...
- python calendar标准库基础学习
# -*- coding: utf-8 -*-# 作者:新手__author__ = 'Administrator'#标准库:日期时间基础学习:calendar:处理日期#例1import calen ...
- python StringIO标准库基础学习
#标准库:StringIO提供类文件API文本缓冲区#作用:可以处理内存中的文本,有2种不同的实现:cStringIP版本用c编写提高速度,StringIO用python来提供可移植性,与其他字符串连 ...
- python filecmp标准库基础学习
# -*- coding: utf-8 -*-# 作者:新手__author__ = 'Administrator'#文件的比较import os,filecmp#作用用于比较系统中的目录和文件#例子 ...
- python 标准库基础学习之开发工具部分1学习
#2个标准库模块放一起学习,这样减少占用地方和空间#标准库之compileall字节编译源文件import compileall,re,sys#作用是查找到python文件,并把它们编译成字节码表示, ...
- 【python】标准库的大致认识
正如那句 Python 社区中很有名的话所说的:“battery included”,Python 的一大好处在于它有一套很有用的标准库(standard library).标准库是随着 Python ...
- C 标准库基础 IO 操作总结
其实输入与输出对于不管什么系统的设计都是异常重要的,比如设计 C 接口函数,首先要设计好输入参数.输出参数和返回值,接下来才能开始设计具体的实现过程.C 语言标准库提供的接口功能很有限,不像 Pyth ...
- Python的标准库介绍与常用的第三方库
Python的标准库介绍与常用的第三方库 Python的标准库: datetime:为日期和时间的处理提供了简单和复杂的方法. zlib:以下模块直接支持通用的数据打包和压缩格式:zlib,gzip, ...
- python 使用标准库连接linux实现scp和执行命令
import stat import pexpect 只显示关键代码: sqldb = localpath+database //获取database名字 if os.path.exists(sqld ...
随机推荐
- [Polymer] Introduction
install Polymer and explore creating our first custom element: bower install polymer index.html: < ...
- 笔记本分享无线Wifi
两种方法: 一.使用软件分享,如Wifi共享精灵,设置非常简单. 二.开启windows 7的隐藏功能:虚拟WiFi和SoftAP(即虚拟无线AP),就可以让电脑变成无线路由器,实现共享上网,节省网费 ...
- CentOS yum Fatal Error 处理一例
环境说明 [root@thatsit ~]# cat /etc/redhat-release CentOS Linux release (Core) [root@thatsit ~]# uname - ...
- Panel( 面板) 组件 上
一. 加载方式//class 加载方式<div class="easyui-panel" data-options="closable:true"titl ...
- 2.RxJava详解网址http
RxJava 到底是什么 RxJava 好在哪 API 介绍和原理简析 1) Scheduler 的 API (二) 2) Scheduler 的原理(二) 3) 延伸:doOnSubscribe() ...
- 学习okhttp wiki--HTTPS
HTTPS OkHttp尝试平衡两个相互竞争的要素: 连通性(Connectivity):连接到尽可能多的服务器.这包括运行最新版本 boringssl 的服务器和不太过时的老版本 OpenSSL 的 ...
- oracle服务开机自启动
1.修改oracle系统配置文件::/etc/oratab vi /etc/oratab orcl:/opt/oracle/product/10.2.0/db_1:Y 2.在 /etc/init.d/ ...
- poj2932 Coneology (扫描线)
转载请注明出处: http://www.cnblogs.com/fraud/ ——by fraud Coneology Time Limit: 5000MS Memory Lim ...
- SQL server 2008无法修改表
长久未使用SQL server,一直都是使用Navicat来处理各种数据库,感觉使用很方便,但由于实际需要,必须要用SQL server创建新的数据库,却意外的遇到了以前从未遇到过的问题. 在建好表以 ...
- 利用System.Net.Mail和多线程实现邮件发送
对于邮件发送,一般来说,程序会响应超过1秒,这样对于用户体验来说,让用户等待的时间过长,而且发送的邮件越多时间就越长,所以这里我利用了线程的来处理邮件发送这种耗时的工作,废话不多说,直接上代码 pri ...