[Python-es] Reintentar

Alberto J. Sánchez Sanz ajsanchezsanz en gmail.com
Mie Ago 26 12:07:17 CEST 2015


for i in range(3):
  print i

On 26 August 2015 at 12:00, Yamila Moreno Suárez <yamila.ms en gmail.com>
wrote:

> 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
>
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> https://mail.python.org/mailman/listinfo/python-es
> FAQ: 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/20150826/76769159/attachment.html>


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