2015-06-05 4 views
0

Новое для Python 3 и программирования в целом. Я пытаюсь написать сценарий, который будет обрабатывать более 50 папок, содержащих более 30 000 файлов, вытащить данные EXIF ​​из файла, а затем продолжить до каждого файла после этого, пока он не достигнет конца. Поскольку он стоит прямо сейчас, мой скрипт будет проверять только первый файл, и затем я получаю «Нет такого файла или каталога» во втором файле. Вот что у меня есть до сих пор.python 3 - файл запроса и рекурсия в следующий файл

import os 
    import exifread 

    for folderName, subfolders, filenames in os.walk("C:\\Users\\Ken\\Desktop\\test\\temp"): 
     for f in filenames: 
      myInfo = open(f, 'rb') 
      tags = exifread.process_file(myInfo) 
      print(tags) 

У меня Googled, пока я не вижу прямо, читаю книги и т. Д., Но я просто не понимаю. Если бы у меня все еще были волосы, я бы разорвал их. Я, вероятно, слишком долго работал над этим, и я просто сбиваю с толку, но я был бы признателен за любую помощь.

Спасибо! Кен

+0

Я немного изменил это из приведенного выше. Я добавил строку для закрытия myInfo. Все еще не выясняя, что я делаю неправильно. –

ответ

0

Вы должны использовать,

myInfo = open(os.path.join(root, f), 'rb') 

istead. Поскольку f является именем файла относительно корневого каталога, просто вызов open(f, 'rb') завершится с ошибкой.

+0

Большое спасибо! Я дам этот выстрел и посмотрю, как это происходит. –