2017-08-18 4 views
-1

Essaie simplement de lister les fichiers d'un dossier FTP distant qui ne contient qu'un seul fichier (/public_html/Data/ ['TestFile.txt']). os.walk retourne simplement le même nom de fichier encore et encore dans une boucle sans fin jusqu'à ce que je n'interrompe pas manuellement. Code est:FTP OS.Walk passe en boucle sans fin

import ftptool as f 
a_host = f.FTPHost.connect("SomeFTPSite", user="User", password="Pass") 
for (dirname, subdirs, files) in a_host.walk("/public_html/Data"): 
    print (dirname, files) 

sortie ressemble à ceci:

/public_html/Data/ ['TestFile.txt'] 
/public_html/Data/ ['TestFile.txt'] 
/public_html/Data/ ['TestFile.txt'] 
/public_html/Data/ ['TestFile.txt'] 
/public_html/Data/ ['TestFile.txt'] 
/public_html/Data/ ['TestFile.txt'] 
/public_html/Data/ ['TestFile.txt'] 
/public_html/Data/ ['TestFile.txt'] 
/public_html/Data/ ['TestFile.txt'] 
/public_html/Data/ ['TestFile.txt'] 
/public_html/Data/ ['TestFile.txt'] 
/public_html/Data/ ['TestFile.txt'] 
/public_html/Data/ ['TestFile.txt'] 
/public_html/Data/ ['TestFile.txt'] 
/public_html/Data/ ['TestFile.txt'] 

/// manuellement interrompu à ce point ///

+0

Serait-ce un bug dans la bibliothèque? Il est difficile à reproduire pour tout le monde car il faudrait configurer un site FTP avec la même structure de répertoires. –

+0

Ne pas poster la même question à nouveau: https://stackoverflow.com/q/45745587/850848 - Modifier le post précédent, si vous avez des informations supplémentaires. –

Répondre

0

Je ne sais pas pour sûr, mais un coup d'oeil à sous-sièges. Le serveur FTP peut renvoyer '.' sur la liste, et en regardant ftptool code, il peut se reproduire encore et encore.