我正在Python中创建一个循环,该循环使用fnmatch.filter()
遍历特定目录中的所有文件。目前,我正在浏览特定文件夹中的所有.csv文件,如下所示:
for file_source in fnmatch.filter(os.listdir(source_dir), "*.csv")
我想做的是排除模式为“ Test *”的文件。这与fnmatch是否有可能。在最坏的情况下,我只会创建另一个内部if循环,但希望使用更干净的解决方案。
最佳答案
您可以使用列表推导来过滤文件名:
for file_source in [x for x in fnmatch.filter(os.listdir(source_dir), "*.csv") if 'Test' not in x ] :
pass
关于python - 使用fnmatch排除文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49154607/