Исключение OSError '[Errno 2] Нет такого файла или каталога' при использовании subprocess.check_output () - PullRequest
1 голос
/ 21 июня 2019

Я пытаюсь прочитать метаинформацию из jpg-файла, используя подпроцесс для выполнения команды чтения ExifTool.

Функция, которая вызывает get_dimensions (), сначала создает файл, сохраняет свой путь к файлу в file_name - Iдважды проверил, и он действительно существует там, где должен - и в конце концов вызывает get_dimensions ().Вызов subprocess.check_output () в этой функции всегда вызывает ошибку OSError.Кстати, я запускаю pytest на python 2.7.10.

def get_dimensions(self, file_name):
    exiftool = subprocess.check_output(['exiftool', '-j', file_name])
    exif = json.loads(exiftool)[0]
    width, height = (exif.get('ImageWidth', 0), exif.get('ImageHeight', 0))
    return (width, height)

Ошибка:

Exception has occurred: OSError 
[Errno 2] No such file or directory
  File "/Users/derek/m-app-tests/tests/TestUtils/client_api.py", line 428, in get_dimensions
    exiftool = subprocess.check_output(['exiftool', '-j', file_name])

1 Ответ

0 голосов
/ 21 июня 2019

Оказывается, у меня не установлен exiftool.

...