On 2014-12-09 13:40, Marco Fochesato wrote:
Ciao a tutti,
non riesco a capire dove sbaglio sinceramente.
import subprocess
subprocess.call(["/usr/bin/lpr -P"+stampante, nomefile)
L'ambiente in cui lavoro è Linux.
Se lancio il comando da terminale, con ovviamente al posto delle
variabili
il nome della stampante e il nome del file, riesco a lanciare la
stampa.
Se lo lancio con il comando sopra descritto, mi esce un errore:
OSError: [Errno 2] File o directory non esistente
Se invece lancio il comando senza la stampante, la stampa mi riesce
sulla
stampante predefinita di sistema.
Poi, se un domani volessi lanciare le stampe anche su windows,
funzionerà?
Non credo...
Avete qualche suggerimento in merito?
Quello che hai scritto e` un errore: hai una lista aperta e non chiusa.
Probabilmente l'errore e` che se passi i comandi come una stringa devi
anche usare shell=True. Questo ha degli svantaggi/pericoli ben spiegati
nella documentazione. Il modo piu` sicuro e spesso piu` pratico e` di
passare gli argomenti come una lista: in questo caso il primo elemento
dev'essere l'eseguibile, quindi qualcosa tipo
subprocess.call(["/usr/bin/lpr", "-P" + stampante, nomefile])
-- Daniele
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python