2016-08-09 5 views
0

フォルダ内の画像を見て、埋め込まれたEXIFデータを抽出するプログラムを作成しました。現在、以下のコードを使用してフォルダ内のすべてのファイルのパスを取得しています。変数 'folder_name'はユーザーによって入力されています。作成されたリストは、プログラムによってすべての画像を循環するために使用されます。フォルダツリーを再帰的に読み込んで、どのフォルダにファイルがあるかを確認します

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

ここでは、フォルダツリーを見て画像/ファイルが含まれているフォルダのみを返す機能を追加したいと考えています。このリストは、残りの処理を行うために上記のコードの一部に渡すことができます。私はちょうどこれを開発するために見えるようにポインタが必要です。

また、ファイルパス上のendswith(.jpg)を使用してイメージファイルを選択して出力するには、大文字と小文字の区別が原因で機能しませんでした。

+2

こんにちはようos.walk + mimetypes.guess_typeをしようとStackOverflowのために歓迎することができます。私はあなたの質問がこのサイトにとって広すぎると思います。基本的には、あなたのアルゴリズムを設計するためにここでユーザーに求めています。 –

+0

私は再帰的なウォーキングtrought dir treeが良いと思う** os.walk **、 大文字と小文字の区別については、ファイル名にto_lower関数を使用し、ローコードの拡張子を比較してください。 –

+0

私の質問Konstantinを編集しました。ありがとうTake Careはそれを調べます。 – Utkarsh

答えて

1

あなたは、そう

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) 
0

.lower()文字列メソッドを両方の文字列に適用して比較することで、大文字と小文字の区別を回避できます。

関連する問題