使用subprocess.check_output()时出现OSError异常'[Errno 2]没有这样的文件或目录'

时间:2019-06-21 17:37:17

标签: python python-2.7 subprocess exiftool

我正在尝试使用子进程从jpg文件中读取元信息,以执行ExifTool读取命令。

调用get_dimensions()的函数首先创建文件,将其文件路径存储在file_name中(我仔细检查了一下,确实确实在应有的位置),最后调用了get_dimensions()。在此函数中调用subprocess.check_output()始终会引发OSError。我正在python 2.7.10上运行pytest。

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 :(得分:0)

事实证明我没有安装exiftool。