(Python)如何搜索目录并查找与正则表达式匹配的文件?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了(Python)如何搜索目录并查找与正则表达式匹配的文件?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1085字,纯文字阅读大概需要2分钟。
内容图文
我最近开始使用Python,我很难在目录中搜索并根据我创建的正则表达式匹配文件.基本上我希望它扫描另一个目录中的所有目录,找到以.zip或.rar或.r01结尾的所有文件,然后根据它的文件运行各种命令.
import os, re
rootdir = "/mnt/externa/Torrents/completed"
for subdir, dirs, files in os.walk(rootdir):
if re.search('(w?.zip)|(w?.rar)|(w?.r01)', files):
print "match: " . files
解决方法:
import os
import re
rootdir = "/mnt/externa/Torrents/completed"
regex = re.compile('(.*zip$)|(.*rar$)|(.*r01$)')
for root, dirs, files in os.walk(rootdir):
for file in files:
if regex.match(file):
print(file)
代码BELLOW在评论后回答问题
That worked really well, is there a way to do this if match is found on regex group 1 and do this if match is found on regex group 2 etc ? – nillenilsson
import os
import re
regex = re.compile('(.*zip$)|(.*rar$)|(.*r01$)')
rx = '(.*zip$)|(.*rar$)|(.*r01$)'
for root, dirs, files in os.walk("../Documents"):
for file in files:
res = re.match(rx, file)
if res:
if res.group(1):
print("ZIP",file)
if res.group(2):
print("RAR",file)
if res.group(3):
print("R01",file)
有可能以更好的方式做到这一点,但这是有效的.
内容总结
以上是互联网集市为您收集整理的(Python)如何搜索目录并查找与正则表达式匹配的文件?全部内容,希望文章能够帮你解决(Python)如何搜索目录并查找与正则表达式匹配的文件?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。