gpt4 book ai didi

python - python os.walk + 正则表达式算法提高效率

转载 作者:太空宇宙 更新时间:2023-11-03 11:54:04 25 4
gpt4 key购买 nike

我正在使用 os.walk 从特定文件夹中选择与正则表达式匹配的文件。

for dirpath, dirs, files in os.walk(str(basedir)):
files[:] = [f for f in files if re.match(regex, os.path.join(dirpath, f))]
print dirpath, dirs, files

但这要处理basedir下的所有文件和文件夹,相当耗时。我正在寻找一种方法来使用与文件相同的正则表达式来在步行的每一步中过滤掉不需要的目录。或者只匹配部分正则表达式的方法...

例如,在这样的结构中

/data/2013/07/19/file.dat

使用例如以下正则表达式

/data/(?P<year>2013)/(?P<month>07)/(?P<day>19)/(?P<filename>.*\.dat)

查找所有 .dat 文件而无需查看例如/数据/2012

最佳答案

例如,如果您只想处理 /data/2013/07/19 中的文件,只需从目录 os.walk() 开始em>顶部 /data/2013/07/19。这与 Tommi Komulainen 的建议类似,但您无需修改​​循环代码。

关于python - python os.walk + 正则表达式算法提高效率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17746999/

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