Re: [Python] Upload file

2012-03-02 Per discussione Dario Vinella
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

2012-03-02 Per discussione Diego Barrera

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

2012-03-01 Per discussione Diego Barrera

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

2012-03-01 Per discussione Marco Mariani
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

2012-03-01 Per discussione Manlio Perillo
-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

2012-03-01 Per discussione Diego Barrera

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