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

Rispondere a