如何在python中列出包含特定模式文件的文件夹/目录?

时间:2017-07-27 06:27:37

标签: python-2.7 file

例如,如果文件包含扩展名.parq,我必须列出该文件夹中的所有目录:

  • /a/b/c/
  • /a/b/e/
  • /a/b/f/

在这里,我必须列出具有特定模式文件的 cef 目录。

1 个答案:

答案 0 :(得分:6)

您可以使用os.walk遍历所有文件和目录。然后你可以在文件名中进行简单的模式匹配(就像你在问题中给出的例子)。

def checkJsonKey(form, *args):
    for key in enumerate(args):
        if form[key] != None:
            return False
        return True

def my_view(request, *args, **kwargs):
    form = json.loads(request.body)
    response = checkJsonKey(form, *args)
    if response:
        return HttpResponse(status = 200)
    else:
        return HttpResponse(status = 400)

如果需要,您可以将路径追加到列表中以便稍后使用。如果要访问完整文件名,可以使用os.path.join

import os

for path, subdirs, files in os.walk('.'): #Traverse the current directory
    for name in files:
        if '.parq' in name:  #Check for pattern in the file name
            print path

如果要访问文件中的模式,可以按如下方式修改代码。

os.path.join(path, name)