广告
返回顶部
首页 > 资讯 > 后端开发 > Python >简单掌握Python中glob模块查找文件路径的用法
  • 593
分享到

简单掌握Python中glob模块查找文件路径的用法

路径模块简单 2022-06-04 18:06:41 593人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

glob使用UNIX shell规则查找与一个模式匹配的文件名。只要程序需要查找文件系统中名字与某个模式匹配的一组文件,就可以使用这个模块。 glob的模式规则与re模块使用的正则表达式不相同。glob模式

glob使用UNIX shell规则查找与一个模式匹配的文件名。只要程序需要查找文件系统中名字与某个模式匹配的一组文件,就可以使用这个模块。
glob的模式规则与re模块使用的正则表达式不相同。glob模式遵循标准UNIX路径扩展规则。只是用几个特殊字符来实现两个不同的通配符和字符区间。模式规则要应用于文件名中的段。模式中的路径可以是相对路径或绝对路径。
shell变量名和波浪线都不会扩展。

基本用法

1.glob.glob(pathname), 返回所有匹配的文件路径列表。它只有一个参数pathname,定义了文件路径匹配规则,这里可以是绝对路径,也可以是相对路径。
2.glob.iglob(pathname), 获取一个可编历对象,使用它可以逐个获取匹配的文件路径名。与glob.glob()的区别是:glob.glob同时获取所有的匹配路径,而glob.iglob一次只获取一个匹配路径。

3.eg:


import glob 
 
print glob.glob(r'E:**.doc') 
print glob.glob(r'.*.py') 
 
f = glob.iglob(r'.*.py') 
 
for py in f: 
  print py 

运行结果:


['E:\test_file\adplus.doc'] 
['.\perfrom_test.py', '.\pyTest.py', '.\simulation_login.py', '.\widget.py', '.\__init__.py'] 
.perfrom_test.py 
.pyTest.py 
.simulation_login.py 
.widget.py 
.__init__.py 

下面我们分知识点详细来讲:


通配符
星号匹配一个文件名段中的0个或多个字符。


import glob
for name in glob.glob('tmp*'):
  print 't', name 

第一种情况显示列出子目录名,第二种情况则依赖一个通配符查找目录。


>>> ================================ RESTART ================================
>>> 
Name explicitly:
  tmp/oneanother.txt
  tmp/onefile.txt
Name with wildcard:
  tmponeanother.txt
  tmponefile.txt


单字节通配符
问号会匹配文件名中该位置的单个字符。


import glob
for name in glob.glob('tmp/chec?_traffic.sh'):
  print name

>>> ================================ RESTART ================================
>>> 
tmpcheck_traffic.sh



字符区间
使用字符区间([a-z]),可以匹配多个字符中的一个字符。


import glob
for name in glob.glob('tmp/one/[a-z]*'):
  print name

区间可以匹配所有小写字母。


>>> ================================ RESTART ================================
>>> 
tmp/oneanother.txt
tmp/onefile.txt

--结束END--

本文标题: 简单掌握Python中glob模块查找文件路径的用法

本文链接: https://www.lsjlt.com/news/14529.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作