在python中根据名称输入文件夹

时间:2013-11-20 04:46:26

标签: python

在我的代码中,我能够在目录中搜索具有特定名称的文件。我怎么能编辑代码,以便它首先搜索名称以“output”结尾的文件夹。在下面的代码中,当我试图包含注释掉的行时,整个事情都拒绝运行。我非常感谢您对我所缺少的任何帮助

def test():
    file_paths = []
    filenames = []
    for root, dirs, files in os.walk('/Users/Bashe/Desktop/121210 p2/'):
        for file in files:
                #if re.match("output", file):
                    if re.match("Results",file):
                        file_paths.append(root)
                        filenames.append(file)
    return file_paths, filenames

1 个答案:

答案 0 :(得分:2)

要搜索名称以“output”结尾的文件夹中的文件:

for dirpath, dirs, files in os.walk(rootdir):
    if not dirpath.endswith('output'):
       continue # look in the next folder
    # search files
    for file in files: ...

如果您甚至不想访问任何不以"output"结尾的目录:

if not rootdir.endswith('output'):
    return # do not visit it at all
for dirpath, dirs, files in os.walk(rootdir):
    assert dirpath.endswith('output')
    dirs[:] = [d for d in dirs if d.endswith('output')] # edit inplace
    # search files
    for file in files: ...