`
purpen
  • 浏览: 794200 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

python fnmatch实现shell风格匹配模式来匹配特定的字符

阅读更多
今天看《Programming Python 3nd Edition》时,偶然看到fnmatch模块,于是查看了它的用法记录在此^_^

Python 的fnmatch说明:

 fnmatch 实现shell patterns表匹配字符串或文件名

1,fnmatch.fnmatch(name, pattern)方法:测试name是否匹配pattern,返回true/false

  eg:
  1. >>>fnmatch.fnmatch('*py','*.py')  
  2. >>>False  
  3.   
  4. >>>fnmatch.fnmatch('tlie.py','*.py')  
  5. >>>True  

注意:匹配样式是unix shell风格的.其中*表示匹配任何单个或多个字符.?表示匹配单个字符;[seq] 匹配单个seq中的字符;[!seq]匹配单个不是seq中的字符.与此相同功能的还有fnmatch.fnmatchcase(name, pat),用法基本相似;

2.fnmatch.filter(names, pat)实现列表特殊字符的过滤或筛选,返回符合匹配模式的字符列表,当然names表示的是列表;

eg:

  1. >>>names = ['dlsf', 'ewro.txt', 'te.py', 'youe.py']  
  2. #匹配以.py结尾的字符  
  3. >>> fnmatch.filter(names, '*.py')  
  4. >>> ['te.py', 'youe.py']  
  5.   
  6. >>> fnmatch.filter(names, '[de]')  
  7. >>> []  
  8. #匹配以d或e开头的字符  
  9. >>>fnmatch.filter(names, '[de]*')  
  10. >>>['dlsf', 'ewro.txt']  

 
当然还有其它的方法(像将shell 风格的匹配模式转换成规则的模式等等),暂时没有用到,在此就不多做说明。


分享到:
评论

相关推荐

    Python 实用技巧之利用Shell通配符做字符串匹配

    在Python中,我们可以利用fnmatch模块来实现类似Shell的通配符字符串匹配功能。 fnmatch模块提供了两个主要的函数:fnmatch()和fnmatchcase()。这两个函数都能将通配符模式应用到字符串匹配中,但它们在大小写敏感...

    Python中fnmatch模块的使用详情

    Python中的`fnmatch`模块是用于进行文件名匹配的一个实用工具,它采用了类似于Linux Shell的通配符风格。这个模块提供了简单而高效的文件筛选功能,适用于那些不需要复杂正则表达式就能解决的数据处理任务。 `...

    《Python Cookbook》第三版中文

    - 用Shell通配符匹配字符串:可以使用Python的fnmatch模块。 - 字符串匹配和搜索:包括基本匹配和复杂的正则表达式搜索。 - 字符串搜索和替换:字符串模块提供了替换功能。 - 字符串忽略大小写的搜索替换:在进行...

    Python标准库中文版.pdf

    fnmatch模块提供了Unix shell风格的通配符匹配功能。random和whrandom模块用于生成伪随机数。md5、sha、crypt等模块用于加密功能。zlib模块提供了对zlib格式数据的压缩与解压缩功能。code模块则包含了与Python代码...

    《Python Cookbook》第三版繁體中文

    2.3 用Shell通配符匹配字符串:利用fnmatch模块在Python中实现类似Shell的模式匹配。 2.4 字符串匹配和搜索:使用正则表达式模块(re)进行复杂的字符串匹配和搜索。 2.5 字符串搜索和替换:使用replace()或re模块的...

    Python标准库

    fnmatch模块提供了文件名模式匹配功能,类似于shell中的通配符。 **2.17 random 模块** random模块提供了随机数生成的功能,包括整数、浮点数和序列的选择。 **2.18 whrandom 模块** whrandom模块是random模块的...

    python标准库的简单介绍

    fnmatch模块提供了Unix shell风格的通配符匹配功能,用于文件名匹配。 ##### 2.17 random 模块 random模块提供了生成伪随机数的功能,这对于模拟和测试非常有用。 ##### 2.18 whrandom 模块 whrandom模块是一个...

    python标准库(中文版)

    glob模块实现了Unix shell风格的文件名模式扩展。fnmatch模块提供了Unix风格的文件名模式匹配功能。random模块实现了伪随机数生成器,而whrandom模块则提供了一个旧的随机数生成器。md5和sha模块分别提供了MD5和SHA...

    超级强大灵活的文件批量重命名工具

    `os`库提供了操作系统相关的功能,包括文件和目录操作,而`fnmatch`库则用于文件名模式匹配,类似Unix shell中的通配符。 批量重命名通常涉及到遍历指定目录下的所有文件,我们可以使用`os.walk()`函数来实现这一...

    python标准库

    `glob`模块用于查找符合特定模式的文件路径,类似于Unix shell中的通配符。 #### fnmatch `fnmatch`模块提供了基于模式匹配的字符串筛选功能,与`glob`模块类似,但更加灵活。 #### random/whrandom 这两个模块...

    pythonAPI标准库3.6(带单节书签,查找方便)

    8. **fnmatch**:提供了Unix风格的文件名模式匹配。 9. **linecache**:提供了随机访问文本行的功能。 10. **shutil**:提供了高级文件操作功能。 11. **macpath**:提供了Mac OS 9的路径处理功能。 #### 九、数据...

    python standerd labrary中文版

    - 本书中的代码遵循Python的标准编码风格,如PEP 8规范,以确保代码的可读性和一致性。 - **关于例子** - 每个章节都提供了丰富的实例代码来演示模块的使用方法。 - 示例代码经过精心设计,既简单明了又实用性...

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

    - **fnmatch模块**:`fnmatch`模块实现了Unix shell风格的通配符匹配。在文章中,`fnmatch.fnmatch(filename, pattern)`用于匹配文件名是否符合指定的模式。 具体步骤如下: 1. 定义一个函数`find_spe_file`,遍历...

Global site tag (gtag.js) - Google Analytics