[Python-es] Fwd: CherryPy --> wsgi server --> wsgi.input --> leer archivo

Jesús Genicio jgenicio en gmail.com
Mar Jul 23 19:15:25 CEST 2013


Ruego me dusculpéis, le he enviado por error la respuesta a MArcos Sánchez
solo.

Hola,

Perfecto, eso era lo que me faltaba

Muchas Gracias!!!!!!!

Tan simple como esto:

import cgi

ctype, pdict = cgi.parse_header( environ['CONTENT_TYPE'])
archivo= cgi.parse_multipart( environ[ 'wsgi.input'], pdict)['file'][ 0]





No es http://docs.python.org/2/**library/cgi.html#cgi.parse_**multipart<http://docs.python.org/2/library/cgi.html#cgi.parse_multipart>lo
que quieres?
>
>
>
> El mar 23 jul 2013 00:11:45 CEST, Jesús Genicio escribió:
>
>> Gracias por responder,
>>
>> Tu solución, ya la había tenido en cuenta en parte salvo el detalle
>> del espacio al inicio del campo y debido a eso no me funcionaba. No
>> obstante con archivos de texto funciona bien, pero con archivos del
>> tipo jpeg, cvs, pdf no va.
>>
>> Adjunto dos archivos recibidos para que veas el problema [1]
>>
>> Ha de haber algún tipo de libreria que sea capaz de manejar los
>> archivos enviados de este tipo y extraer los datos de la manera adecuada.
>>
>> Os adjunto el pequeño script que estoy usando para las pruebas. [2]
>>
>>
>> [1] -->
>> http://mieresdelcamin.es/**owncloud/public.php?service=**
>> files&file=%2Fjesus%2Ffiles%**2FPython%2Fpruebas.zip<http://mieresdelcamin.es/owncloud/public.php?service=files&file=%2Fjesus%2Ffiles%2FPython%2Fpruebas.zip>
>> [2] -->
>> http://mieresdelcamin.es/**owncloud/public.php?service=**
>> files&file=%2Fjesus%2Ffiles%**2FPython%2Ftercero.py<http://mieresdelcamin.es/owncloud/public.php?service=files&file=%2Fjesus%2Ffiles%2FPython%2Ftercero.py>
>> Saludos y gracias.
>>
>>
>>
>>
>> El 22 de julio de 2013 22:42, Eduard Diaz <eventgrafic en gmail.com
>> <mailto:eventgrafic en gmail.com>**> escribió:
>>
>>
>>     Hola
>>
>>     Para parsear la respuesta tienes varias opciones una es utilizar
>>     urlparse.parse_qs
>>
>>     Ejemplo, si raw_request = contenido del archivo de texto, el código
>>     seria algo parecido a esto:
>>
>>     import urlparse
>>     d = urlparse.parse_qs(raw_request)
>>     lines = d.get(' filename', [''])[0].splitlines()
>>     if len(lines) > 3:
>>         print '\n'.join(lines[2:-1])
>>
>>     ojo ten en cuenta que la key del diccionario es ' filename' con un
>>     espacio en blanco al principio,ya que hay un espacio entre el punto y
>>     coma y el nombre de la variable en el Content-Disposition:.....;
>>     filename="prueba.txt"
>>
>>     Saludos
>>     ______________________________**_________________
>>     Python-es mailing list
>>     Python-es en python.org <mailto:Python-es en python.org>
>>
>>     http://mail.python.org/**mailman/listinfo/python-es<http://mail.python.org/mailman/listinfo/python-es>
>>     FAQ: http://python-es-faq.wikidot.**com/<http://python-es-faq.wikidot.com/>
>>
>>
>>
>>
>> ______________________________**_________________
>> Python-es mailing list
>> Python-es en python.org
>> http://mail.python.org/**mailman/listinfo/python-es<http://mail.python.org/mailman/listinfo/python-es>
>> FAQ: http://python-es-faq.wikidot.**com/<http://python-es-faq.wikidot.com/>
>>
>
>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20130723/527a0065/attachment.html>


Más información sobre la lista de distribución Python-es