question, y a t'il sous python un équivalent de exiftool ?
c'est facile avec : <http://stackoverflow.com/questions/10075115/call-exiftool-from-a-python-script>
je remarque d'ailleurs qu'exiftool peut sortir en format json
Pierre Maurette
Une Bévue :
Le 18/03/2016 15:35, Pierre-Alain Dorange a écrit :
Vaudrait mieux Pillow, le successeur de PIL qui n'est plus mis à jour depuis 2009. Pillow est plutot bien compatible PIL (même classes) <https://pillow.readthedocs.org/en/3.1.x/>
bon je viens de faire deux tests (à partir de la page : <https://pillow.readthedocs.org/en/3.1.x/handbook/tutorial.html>)
il faudrait que j'apprenne python et Pillow ))
question, y a t'il sous python un équivalent de exiftool ?
j'ai besoin de lire l'Orientation de l'image pour en faire une vignette dans le bon sens...
J'ai pas mal bricolé dans ce sens. J'ai perdu du temps avec les divers "wrappers", je vous conseille vraiment d'appeler directement exiftool via subprocess. C'est multiplateforme, à partir du moment où exiftool est dans le PATH ou si vous en posez une copie à coté de votre script. Un exemple (c'est une méthode juste copiée - collée):
def getExifOrientation(self, filename): readOrientationcmd = 'exiftool -exif:Orientation%s"%s"' try: output = subprocess.check_output(readOrientationcmd % (self.subprocessencoding, filename), shell=True, startupinfo=self.startupinfo) s = output.decode('utf-8').strip().split(':')[-1].strip() except KeyError: s = u'râté !' return s
-- Pierre Maurette
Une Bévue :
Le 18/03/2016 15:35, Pierre-Alain Dorange a écrit :
Vaudrait mieux Pillow, le successeur de PIL qui n'est plus mis à jour
depuis 2009.
Pillow est plutot bien compatible PIL (même classes)
<https://pillow.readthedocs.org/en/3.1.x/>
bon je viens de faire deux tests (à partir de la page :
<https://pillow.readthedocs.org/en/3.1.x/handbook/tutorial.html>)
il faudrait que j'apprenne python et Pillow ))
question, y a t'il sous python un équivalent de exiftool ?
j'ai besoin de lire l'Orientation de l'image pour en faire une vignette dans
le bon sens...
J'ai pas mal bricolé dans ce sens. J'ai perdu du temps avec les divers
"wrappers", je vous conseille vraiment d'appeler directement exiftool
via subprocess. C'est multiplateforme, à partir du moment où exiftool
est dans le PATH ou si vous en posez une copie à coté de votre script.
Un exemple (c'est une méthode juste copiée - collée):
def getExifOrientation(self, filename):
readOrientationcmd = 'exiftool -exif:Orientation%s"%s"'
try:
output = subprocess.check_output(readOrientationcmd %
(self.subprocessencoding, filename), shell=True,
startupinfo=self.startupinfo)
s = output.decode('utf-8').strip().split(':')[-1].strip()
except KeyError:
s = u'râté !'
return s
Le 18/03/2016 15:35, Pierre-Alain Dorange a écrit :
Vaudrait mieux Pillow, le successeur de PIL qui n'est plus mis à jour depuis 2009. Pillow est plutot bien compatible PIL (même classes) <https://pillow.readthedocs.org/en/3.1.x/>
bon je viens de faire deux tests (à partir de la page : <https://pillow.readthedocs.org/en/3.1.x/handbook/tutorial.html>)
il faudrait que j'apprenne python et Pillow ))
question, y a t'il sous python un équivalent de exiftool ?
j'ai besoin de lire l'Orientation de l'image pour en faire une vignette dans le bon sens...
J'ai pas mal bricolé dans ce sens. J'ai perdu du temps avec les divers "wrappers", je vous conseille vraiment d'appeler directement exiftool via subprocess. C'est multiplateforme, à partir du moment où exiftool est dans le PATH ou si vous en posez une copie à coté de votre script. Un exemple (c'est une méthode juste copiée - collée):
def getExifOrientation(self, filename): readOrientationcmd = 'exiftool -exif:Orientation%s"%s"' try: output = subprocess.check_output(readOrientationcmd % (self.subprocessencoding, filename), shell=True, startupinfo=self.startupinfo) s = output.decode('utf-8').strip().split(':')[-1].strip() except KeyError: s = u'râté !' return s
j'ai besoin de lire l'Orientation de l'image pour en faire une vignette dans le bon sens...
J'ai pas mal bricolé dans ce sens. J'ai perdu du temps avec les divers "wrappers", je vous conseille vraiment d'appeler directement exiftool via subprocess. C'est multiplateforme, à partir du moment où exiftool est dans le PATH ou si vous en posez une copie à coté de votre script. Un exemple (c'est une méthode juste copiée - collée):
def getExifOrientation(self, filename): readOrientationcmd = 'exiftool -exif:Orientation%s"%s"' try: output = subprocess.check_output(readOrientationcmd % (self.subprocessencoding, filename), shell=True, startupinfo=self.startupinfo) s = output.decode('utf-8').strip().split(':')[-1].strip() except KeyError: s = u'râté !' return s
oui, oui, merci, c'est ce que j'ai fait, voici mon script : -------------------------------------------------------------------------------- #! /usr/bin/python
from __future__ import print_function import os, sys import re import subprocess import json from PIL import Image, ImageOps, ImageDraw
à partir d'une image il réalise un thumb correctement orienté et de taille constante 250x188 avec des borders transparents.
n'hésitez pas à critiquer mon petit script, c'est la première fois que j'en écrit un en python ))
sans doute des choses inutiles dans la class ExifTool, comme par ex la sortie json, encore que je me demande si, pour chaque image je ne vais pas créer un fichier json ce qui m'éviterait à repasser par exiftool.
Le 19/03/2016 11:20, Pierre Maurette a écrit :
j'ai besoin de lire l'Orientation de l'image pour en faire une
vignette dans le bon sens...
J'ai pas mal bricolé dans ce sens. J'ai perdu du temps avec les divers
"wrappers", je vous conseille vraiment d'appeler directement exiftool
via subprocess. C'est multiplateforme, à partir du moment où exiftool
est dans le PATH ou si vous en posez une copie à coté de votre script.
Un exemple (c'est une méthode juste copiée - collée):
def getExifOrientation(self, filename):
readOrientationcmd = 'exiftool -exif:Orientation%s"%s"'
try:
output = subprocess.check_output(readOrientationcmd %
(self.subprocessencoding, filename), shell=True,
startupinfo=self.startupinfo)
s = output.decode('utf-8').strip().split(':')[-1].strip()
except KeyError:
s = u'râté !'
return s
oui, oui, merci, c'est ce que j'ai fait, voici mon script :
--------------------------------------------------------------------------------
#! /usr/bin/python
from __future__ import print_function
import os, sys
import re
import subprocess
import json
from PIL import Image, ImageOps, ImageDraw
à partir d'une image il réalise un thumb correctement orienté et de
taille constante 250x188 avec des borders transparents.
n'hésitez pas à critiquer mon petit script, c'est la première fois que
j'en écrit un en python ))
sans doute des choses inutiles dans la class ExifTool, comme par ex la
sortie json, encore que je me demande si, pour chaque image je ne vais
pas créer un fichier json ce qui m'éviterait à repasser par exiftool.
j'ai besoin de lire l'Orientation de l'image pour en faire une vignette dans le bon sens...
J'ai pas mal bricolé dans ce sens. J'ai perdu du temps avec les divers "wrappers", je vous conseille vraiment d'appeler directement exiftool via subprocess. C'est multiplateforme, à partir du moment où exiftool est dans le PATH ou si vous en posez une copie à coté de votre script. Un exemple (c'est une méthode juste copiée - collée):
def getExifOrientation(self, filename): readOrientationcmd = 'exiftool -exif:Orientation%s"%s"' try: output = subprocess.check_output(readOrientationcmd % (self.subprocessencoding, filename), shell=True, startupinfo=self.startupinfo) s = output.decode('utf-8').strip().split(':')[-1].strip() except KeyError: s = u'râté !' return s
oui, oui, merci, c'est ce que j'ai fait, voici mon script : -------------------------------------------------------------------------------- #! /usr/bin/python
from __future__ import print_function import os, sys import re import subprocess import json from PIL import Image, ImageOps, ImageDraw
à partir d'une image il réalise un thumb correctement orienté et de taille constante 250x188 avec des borders transparents.
n'hésitez pas à critiquer mon petit script, c'est la première fois que j'en écrit un en python ))
sans doute des choses inutiles dans la class ExifTool, comme par ex la sortie json, encore que je me demande si, pour chaque image je ne vais pas créer un fichier json ce qui m'éviterait à repasser par exiftool.