我正在尝试使用子过程从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])

最佳答案

原来我没有安装exiftool。

关于python - 使用subprocess.check_output()时出现OSError异常'[Errno 2]没有这样的文件或目录',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56708126/

10-13 04:33