gpt4 book ai didi

python - 我如何搜索目录并找到与正则表达式匹配的文件?

转载 作者:可可西里 更新时间:2023-11-01 11:45:29 26 4
gpt4 key购买 nike

我最近开始接触 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)

代码在下面的评论中回答问题

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 - 我如何搜索目录并找到与正则表达式匹配的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39293968/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com