小编典典

删除多个匹配模式的文件

python

我已经使用Python和Django建立了一个在线画廊。我刚刚开始添加编辑功能,从旋转开始。我使用sorl.thumbnail按需自动生成缩略图。

当我编辑原始文件时,我需要清理所有缩略图,以便生成新的缩略图。每个图片有三到四个(我在不同场合有不同的图片)。

可以 在文件变量中进行硬编码…但是这很混乱,如果我改变工作方式,则需要重新访问代码。

理想情况下,我想进行正则删除。用正则表达式来说,我所有的原件都这样命名:

^(?P<photo_id>\d+)\.jpg$

所以我想删除:

^(?P<photo_id>\d+)[^\d].*jpg$

(在我photo_id要清洁的ID替换的地方。)


阅读 215

收藏
2020-12-20

共1个答案

小编典典

尝试这样的事情:

import os, re

def purge(dir, pattern):
    for f in os.listdir(dir):
        if re.search(pattern, f):
            os.remove(os.path.join(dir, f))

然后,您将传递包含您要匹配的文件和模式的目录。

2020-12-20