我是编程新手,需要一点帮助。我正在尝试制作一个程序,该程序将按扩展名(多个扩展名)搜索指定目录中的文件,然后仅返回文件名中包含我的关键字列表的特定结果。 我有以下内容:
import os
from fnmatch import fnmatch
root = 'c:\users'
pattern = "*.css"
for path, subdirs, files in os.walk(root):
for name in files:
if fnmatch(name, pattern):
print os.path.join(name)
这将带回具有单个扩展名的所有文件,在本例中为 .css 文件,但我需要它来执行更多操作,例如图像和文本文件扩展名。我还希望它只返回文件名中包含特定关键字的文件。有人能指出我正确的方向吗? 谢谢
最佳答案
也许你可以使用glob
:
from glob import glob
for filename in glob('*.css'):
print(filename)
如果您有多个扩展,您可以添加由 glob()
返回的列表:
exts = ['ccs', 'txt']
all = []
for ext in exts:
all += glob('*.' + ext)
for filename in all:
print(filename)
关于Python文件搜索麻烦,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22582322/