繁体   English   中英

递归地阅读文件夹树,并确定哪些文件夹包含文件

[英]Recursively read through a folder tree and determine which folders have files

我编写了一个程序来浏览文件夹中的图像并提取嵌入的EXIF数据。 目前,我正在使用下面的代码来获取文件夹中所有文件的路径,变量“ folder_name”由用户输入。 然后,程序将使用创建的列表循环浏览所有图像。

file_names = glob(join(expanduser('~'),'Desktop',folder_name,'*'))

现在,我想添加一些功能,即浏览文件夹树并仅返回其中包含图像/文件的文件夹的功能。 然后可以将此列表传递到上面的代码中,以完成其余的工作。 我只需要有关在哪里开发此程序的指针。

另外,由于大小写敏感,如何在文件路径上使用endswith(.jpg)选择和输出图像文件也不起作用。

您可以像这样尝试os.walk + mimetypes.guess_type

import os
import os.path
import mimetypes
top="."
imagefiles=[]
for root, dirs, files in os.walk(top):
    for fn in files:
        t,e= mimetypes.guess_type(fn, strict=False)
        if t.startswith("image/"):
            imagefiles.append(os.path.join(root,fn)

您可以通过在比较两个字符串之前对两个字符串应用.lower()字符串方法来解决区分大小写的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM