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