将两个位置的文件收集到一个递归列表中

时间:2017-07-29 19:29:34

标签: python recursion

我有两个位置需要递归循环并收集所有.jpg文件。那部分我可以很容易地做到。我的问题是,如何轻松地将网络位置和本地位置的文件组合或收集到一个多维列表中,这样我就可以递归循环遍历它们,就好像它们是虚拟的一个位置一样。

最后一部分是最重要的部分,因为我需要按照heirarchy的顺序遍历它们,以便为我正在使用的应用程序正确创建一个界面菜单。希望图像有助于解释我正在尝试的内容做。

所以最后当我遍历收集的文件列表时,它就像模仿它们在一个位置一样。我不确定如何处理这个问题的最佳方法。我实际上不会移动文件,只是将它们存储在代表它的列表中。

enter image description here

import os

directory = "C:\\Users\\ToolSets"

files = []  
for root, subdirs, files in os.walk(directory):

    files.sort()
    for f in files:
        if not f.lower().endswith('.jpg'):
            continue

        # get category name from folders
        cat = (root[len(directory)+1:]).replace('\\','/') 
        cat += ('/{}').format(os.path.splitext(f)[0])
        print cat, f

打印的最终输出应如下所示:

Family img.jpg
Family img-01.jpg
Family ncle01.jpg
Family zebra.jpg
Family/Home family.jpg
Family/Home kid.jpg
Family/Vacation leslie.jpg
Family/Vacation john.jpg
Misc candy.jpg
Misc sucker.jpg

0 个答案:

没有答案