[Python-es] Reintentar

Yamila Moreno Suárez yamila.ms en gmail.com
Mie Ago 26 12:00:32 CEST 2015


i = 0
while i < 3:
     print(i)
     i += 1

output >>
0
1
2




2015-08-26 11:47 GMT+02:00 Gonzalo V <gvm2121 en gmail.com>:

> Muchas Gracias Andres!
> Tenia entendido que era While true daba el resultado . ¿Cómo lee el
> intérprete while 1: Que reintente 1 sola vez?
> ¿Cuál sería el código para reintentos controlados (que reintente 3 veces,
> por ejemplo )?
> Gracias!
>
> Saludos,
> Gonzalo
>
> 2015-08-26 2:13 GMT-04:00 Oriol Andrés <oriolandresmartin en gmail.com>:
>
>> hola, puedes encerrar la funcion en un bucle while.
>> while 1:
>>   response = urlopen
>>   if response.headers.code == 200:
>>      break
>> On Aug 26, 2015 2:02 a.m., "Gonzalo V" <gvm2121 en gmail.com> wrote:
>>
>>> Hola a todos.
>>> Tengo un código que hace preguntas a un servidor y algunas veces retorna
>>> un 504, el codigo lo maneja bien pero me gustaría que reintentara.
>>> ¿Alguien me puede ayudar?
>>> el codigo es:
>>> import urllib.request
>>> import urllib.error
>>> from bs4 import BeautifulSoup
>>> import re, csv
>>> from FuncionCsv import LlenarCsv
>>>
>>>
>>>
>>> fhand=open('isbn.txt')
>>> #csvfile=open('ResultadoScrapping.csv', 'w', newline='')
>>> for line in fhand:
>>>     try:
>>>        req=urllib.request.urlopen('XXXXXXXX'+line)
>>>        resp=req.read()
>>>        soup=BeautifulSoup(resp,'html.parser')
>>>
>>>         origen=soup.find(string=re.compile("Origen:
>>> ")).find_next().get_text()
>>>         nombre=soup.find(name="h1",itemprop="name").get_text()
>>>         precioAhora=soup.find(name="p",class_="precioAhora").get_text()
>>>         d=soup.find(name="p",class_="stock").get_text()
>>>         disp=d.split()
>>>     except AttributeError:
>>>         disp="no encontrado"
>>>         nombre=''
>>>         origen=''
>>>         precioAhora=''
>>>     except urllib.error.HTTPError as e:
>>>             if e.getcode()==504:
>>>                 disp = "sin respuesta del servidor"
>>>                 print (e.getcode(),disp)
>>>                 csvfile.close()
>>>
>>>     print(line,nombre,origen,precioAhora,disp)
>>>     line1=line.split()
>>>     LlenarCsv('Resultado.csv',line1,nombre,origen,precioAhora,disp)
>>> cierracsv()
>>>
>>>
>>>
>>>
>>> Saludos,
>>> Gonzalo
>>>
>>> _______________________________________________
>>> Python-es mailing list
>>> Python-es en python.org
>>> https://mail.python.org/mailman/listinfo/python-es
>>> FAQ: http://python-es-faq.wikidot.com/
>>>
>>>
>> _______________________________________________
>> Python-es mailing list
>> Python-es en python.org
>> https://mail.python.org/mailman/listinfo/python-es
>> FAQ: http://python-es-faq.wikidot.com/
>>
>>
>
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> https://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
>


-- 
Yamila  Moreno Suárez
http://dendarii.es
http://moduslaborandi.net
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20150826/0871d0b3/attachment.html>


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