2011-03-04 4 views
0

j'ai donc le codepython urllib.request.urlopen récursion échec

def constructGraph(self,url,doit=5): 
    if doit!=0: 
     m = urllib.request.urlopen(url) 
     print('test') 
     self.constructGraph('http://example.com',doit-1) 

mais quand je le lance, il ne fonctionne que la première m = urllib.request.urlopen(url) et seul test imprime une fois, même si elle devait le faire deux fois. ..

et quand je lance le débogueur, il ne serait pas même aller à l'impression (« test ») ligne sur la deuxième récursion et serait tout simplement sortir

qu'est-ce que je fait de mal?

J'utilise Python 3

+0

Je ne vois aucun problème avec votre code. Pourriez-vous poster plus de votre définition de classe, ou peut-être à quoi ressemble votre appel initial à constructGraph? – phooji

+0

Vous ne savez pas quel est le problème. Au lieu de "test", essayez d'imprimer les valeurs de "doit" et "m", et peut-être creuser dans "m". – Vamana

Répondre

0

Peut-être que vous ne pouvez avoir qu'une seule demande d'ouverture à la fois. Essayez de mettre une instruction d'impression avant l'appel urlopen.