Re: [Python] Upload file
Il 01 marzo 2012 18:24, Diego Barrera diegonebarr...@yahoo.it ha scritto: Ma se non volessi passare per un form html e fare tutto da python? Cioe' se volessi inviare questo benedetto file simulando il comportamento del form html? Potresti usare l'ottima requests http://docs.python-requests.org/en/v0.10.6/user/quickstart/#post-a-multipart-encoded-file ciao ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Upload file
On 02/03/2012 12:28, Dario Vinella wrote: Il 01 marzo 2012 18:24, Diego Barreradiegonebarr...@yahoo.it ha scritto: Ma se non volessi passare per un form html e fare tutto da python? Cioe' se volessi inviare questo benedetto file simulando il comportamento del form html? Potresti usare l'ottima requests http://docs.python-requests.org/en/v0.10.6/user/quickstart/#post-a-multipart-encoded-file Ora provo, mi sembra proprio quello che mi serve. Grazie diego ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
[Python] Upload file
Ciao a tutti, devo fare l'upload di un file csv verso una pagina remota. Utilizzando urllib e urllib2 riesco a spedire il file facendo: [code] data={'user_file':open('/home/diego/file_to_upload.csv','r').read()} data = urllib.urlencode(data) response=urllib2.urlopen(urllib2.Request(url_remota, data, headers)) [/code] Il problema e' che cosi' facendo invio si il contenuto del file, ma non come vorrei: infatti facendo una piccola pagina di prova in php: [code] echo file=.$_FILES['user_file'].\n; echo file=.$_POST['user_file'].\n; [/code] il primo echo non restituisce niente, il secondo stampa il contenuto del file. In sostanza vorrei inviare il file come se fosse stato fatto l'upload con un form ed il campo file. Penso di essermi spiegato a pene di labrador :) Grazie mille diego ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Upload file
On 1 March 2012 16:37, Diego Barrera diegonebarr...@yahoo.it wrote: Utilizzando urllib e urllib2 riesco a spedire il file facendo: TI consiglio qualcosa un po' piu' high level, al costo di introdurre una dipendenza http://stackoverflow.com/questions/1299855/upload-file-with-python-mechanize ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Upload file
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Il 01/03/2012 16:37, Diego Barrera ha scritto: Ciao a tutti, devo fare l'upload di un file csv verso una pagina remota. Utilizzando urllib e urllib2 riesco a spedire il file facendo: [code] data={'user_file':open('/home/diego/file_to_upload.csv','r').read()} data = urllib.urlencode(data) response=urllib2.urlopen(urllib2.Request(url_remota, data, headers)) [/code] Il problema e' che cosi' facendo invio si il contenuto del file, ma non come vorrei: infatti facendo una piccola pagina di prova in php: [code] echo file=.$_FILES['user_file'].\n; echo file=.$_POST['user_file'].\n; [/code] il primo echo non restituisce niente, il secondo stampa il contenuto del file. In sostanza vorrei inviare il file come se fosse stato fatto l'upload con un form ed il campo file. Penso di essermi spiegato a pene di labrador :) Probabilmente PHP si aspetta i dati codificati in multipart/form-data. La libreria standard di Python purtroppo non offre nessuna funzione per fare questo. La soluzione è usare una libreria esterna (come già ti hanno suggerito), oppure scriverti a mano la funzione. Da una veloce ricerca su google: http://code.activestate.com/recipes/146306/ http://bugs.python.org/issue3244 Ciao Manlio -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk9Pm+cACgkQscQJ24LbaUQtOgCeK2Lbp0WwiyLFnlMJLzq02X+3 D9AAnjnvslAJTPD6vULZA3C2DHR5pixC =TI/5 -END PGP SIGNATURE- ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Upload file
On 01/03/2012 16:43, Marco Mariani wrote: On 1 March 2012 16:37, Diego Barrera diegonebarr...@yahoo.it mailto:diegonebarr...@yahoo.it wrote: Utilizzando urllib e urllib2 riesco a spedire il file facendo: TI consiglio qualcosa un po' piu' high level, al costo di introdurre una dipendenza http://stackoverflow.com/questions/1299855/upload-file-with-python-mechanize Grazie, ho risolto: con mechanize posso navigare ed effettuare operazioni come se stessi davanti al browser; quindi mi sono creato la mia paginetta html con il form con il campo file.. funziona bene: seleziono il form, faccio puntare il file ed infine premo submit. Ma se non volessi passare per un form html e fare tutto da python? Cioe' se volessi inviare questo benedetto file simulando il comportamento del form html? Di nuovo grazie. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python