[Python] Python 2 o 3 per i metadati delle foto?
Daniele Tricoli
eriol a mornie.org
Lun 11 Ago 2014 22:45:23 CEST
Ciao Andrea,
On Monday 11 August 2014 19:55:51 Andrea Congiu wrote:
> Su quale versione mi consigliate di concentrarmi visto che sono
> all'inizio e parto da zero?
Python 3.
A meno che tu non sappia già (in base alle specifiche del tuo progetto) che ti
servirà qualche package ancora fermo alla versione 2 del linguaggio ti
conviene utilizzare Python 3.
> Quello che vorrei realizzare è un piccolo programma che mi permetta di
> manipolare il metadati delle mie foto analogiche passate allo scanner.
> Per essere più preciso ci inserirei la latitudine, la longitudine e
> l'angolo di ripresa rispetto al Nord Magnetico.
>
> Per la latitudine e la longitudine uso DigiKam, ma non ho trovato
> nulla che con un'interfaccia grafica mi permetta di inserire un
> angolo, per ora sto usando Exiftool da riga di comando. Di seguito un
> piccolo esempio che inserisce nei metadati un angolo di 159 gradi con
> Nord magletico all'immagine albero.jpg
>
> exiftool -GPSImgDirectionRef="M" -GPSImgDirection="159" albero.jpg
Che sistema operativo stai utilizzando? DigiKam è multipiattaforma anche se
Linux e FreeBSD sono le piattaforme più supportate.
Se non hai il vincolo di dover supportare tutte le maggiori piattaforme (non
ho idea di come si comporti su Mac OS X e Windows) puoi dare un'occhiata a
GExiv2:
https://wiki.gnome.org/Projects/gexiv2
In particolare:
https://wiki.gnome.org/Projects/gexiv2/PythonSupport
Esiste anche un pyexiv2 (http://tilloy.net/dev/pyexiv2/) ma te lo sconsiglio
per i seguenti motivi:
1. è deprecato in favore di GExiv2;
2. supporta solo Python 2 mentre GExiv2 supporta sia Python 2 che Python 3.
Esistono altri binding, ma non avendoli usati non posso pronunciarmi.
In realtà avevo provato anche questo:
https://code.google.com/p/python-xmp-toolkit/
Ma l'API non era per niente pythonica.
> Per l'interfaccia grafica pensavo di usare html, cosa ne dite?
Questo dipende da te, da come preferiresti utilizzare il tuo programma, e
dalle specifiche che ti darai.
Ad esempio, se uno dei tuoi casi d'uso prevede la possibilità di poterti
interfacciare da un internet point, caricando sia la foto che i metadati
allora una web application è indicata. Tuttavia, dato che a quanto hai detto
(ed anche dal fatto che ti sia posto questa giustissima domanda, se usare il
web o meno), stai cominciando adesso, forse ti conviene procedere per gradi ed
usare inizialmente qualcosa di più semplice come un'interfaccia a linea di
comando.
Ricorda sempre che l'iniziare con un'interfaccia non t'impone il divieto di
aggiungerne altre: potresti anche decidere di avere un'interfaccia CLI, GUI e
web da utilizzare a seconda dei casi! :)
> Ma qui un altro problemino, come faccio a far interagire in file html
> con i modili .py?
C'è tanta, *ma tanta* roba:
https://wiki.python.org/moin/WebFrameworks
HTH,
--
Daniele Tricoli 'Eriol'
http://mornie.org
Maggiori informazioni sulla lista
Python