簡體   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