删除部分文件名为python的所有文件

删除部分文件名为python的所有文件,python,regex,Python,Regex,我想删除当前工作目录中的文件。它们都有一个以字符串“words”开头的文件名,例如,files words_1.csv和words_2.csv。我想匹配当前目录中以“words”开头的所有文件并将其删除。搜索模式是什么 我从中找到了这个,但它并没有完全回答这个问题 import os, re def purge(dir, pattern): for f in os.listdir(dir): if re.search(pattern, f): o

我想删除当前工作目录中的文件。它们都有一个以字符串“words”开头的文件名,例如,files words_1.csv和words_2.csv。我想匹配当前目录中以“words”开头的所有文件并将其删除。搜索模式是什么

我从中找到了这个,但它并没有完全回答这个问题

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))

如果我正确理解了你的问题,你有这个函数,你在问如何使用它。您应该能够简单地调用:

purge('/path/to/your/dir','words.*')
这将删除所有以字符串开头的文件。

模式是正则表达式模式。在您的情况下,它只是以单词开头,以.csv结尾的任何内容,因此您可以使用

pattern = "words*.csv"
完成了。
模式可能是“^words.*.csv$”,但我建议您阅读。

不完全是:任何以words开头并具有csv扩展名的文件名。您已删除所有单词。*文件。这将忽略引用的两个实例,并删除其他文件,如words.txt。这将如何忽略words_1.csv?也不清楚所有文件是否都是csv文件,这只是提供的两个示例。只有在我将“words.*”替换为“words.*”时,这才有效。谢谢!您似乎编写了一个glob而不是regex。为了安全起见,请包含一个os.path.isfilefilename,因为目录也可以以单词开头。这要求我列出每个文件名,不是吗?我想找到目录中所有以“words”开头的文件并将其删除。
t = 'words_1.csv'
print(t.startswith('words'))