因工作需要,在共享盘里找到所有含有货号的文件夹。所以用Python编写了一个小程序,把共享盘映射为本地的Z盘后,遍历文件夹并输出名称符合正则表达式的文件夹。
import os
import re
s = os.sep
# 需要遍历的文件目录
root = "z:" + s
# 载入并编译正则表达式
pattern = re.compile(r'D[a-zA-Z|0-9]{10,10}')
# 初始化进度信息变量 / 不需要可删除
fi=0
fj=1
# 设定追加形式输出文件
f=open('f.txt','a')
#遍历文件夹
for rt, dirs, files in os.walk(root):
for d in dirs:
fi=fi+1
# 尝试匹配
match = pattern.match(d)
# 匹配成功,输出到文件
if match:
fj=fj+1
f.write(rt+s+d+'\n')
# 每遍历100个文件夹输出一下进度 / 不需要可删除
if(fi%100==0):
print(fi,':',fj)
f.close()
对files进行遍历,就可以得到所有名称符合正则表达式的文件。简简单单解决问题。
转载请注明出处
《Python遍历文件夹并输出名称符合正则表达式的文件夹》https://www.ywlib.com/archives/80.html (from 一闻自习室)
话说Python352更新了一种新的方法来遍历目录,os.s candir()貌似比老方法更好。。不过我还没试过233