Поиск файлов JPEG с помощью Python - PullRequest
1 голос
/ 06 апреля 2010

Мое требование - искать файлы изображений в формате jpeg в каталоге, используя скрипт python, и перечислять имена файлов. Может кто-нибудь помочь мне в том, как определить файлы изображений JPEG.

Заранее спасибо ...

Ответы [ 5 ]

9 голосов
/ 06 апреля 2010

Если вам нужен некурсивный поиск в одной папке, вы можете просто сделать

>>> import glob
>>> glob.glob("D:\\bluetooth\*.jpg")
['D:\\bluetooth\\Image1475.jpg',  'D:\\bluetooth\\Image1514.jpg']

Узнайте больше о glob здесь, вы используете do unix, как поиск по шаблону, например,

>>> import glob
>>> glob.glob('./[0-9].*')
['./1.gif', './2.txt']
>>> glob.glob('*.gif')
['1.gif', 'card.gif']
>>> glob.glob('?.gif')
['1.gif']
6 голосов
/ 06 апреля 2010

Если вы хотите сканировать подпапки:

import os

for root, subdirs, files in os.walk(DIRECTORY):
    for file in files:
        if os.path.splitext(file)[1].lower() in ('.jpg', '.jpeg'):
             print os.path.join(root, file)

В противном случае, используя одну из других глобальных функций в других ответах, или это:

import os

for f in os.listdir(DIRECTORY):
    if os.path.splitext(f)[1].lower() in ('.jpg', '.jpeg'):
        print os.path.join(DIRECTORY, f)

должно работать нормально.

2 голосов
/ 06 апреля 2010

Используйте модуль magic, чтобы получить тип MIME, и найдите image/jpeg.

1 голос
/ 06 апреля 2010

Если вы хотите определить формат изображения по содержимому файла, вы можете использовать Python Imaging Library :

import Image
try:
    img = Image.open('maybe_jpeg_file')
    print img.format # Will return 'JPEG' for JPEG files.
except IOError:
    print "Not an image file or unreadable."
1 голос
/ 06 апреля 2010
import os
path=os.path.join("/home","mypath","to_search")
for r,d,f in os.walk(path):
     for files in f:
           if files[-3:].lower()=='jpg' of files[-4:].lower() =="jpeg":
                print "found: ",os.path.join(r,files)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...