2009-02-20 9 views
3

J'utilise Python pour me connecter à un serveur FTP qui contient une nouvelle liste de données une fois par heure. Je me connecte seulement une fois par jour, et je veux seulement télécharger le nouveau fichier dans le répertoire. Y a-t-il un moyen de faire cela?Comment puis-je obtenir le fichier le plus récent à partir d'un serveur FTP?

+0

Copie possible de [ftp python obtenir le fichier le plus récent par date] (https://stackoverflow.com/questions/8990598/python-ftp-get-the-most-recent-file-by-date) –

Répondre

-1

Regardez ftplib dans votre version actuelle de python. Vous pouvez voir une fonction pour gérer le résultat de la commande LIST que vous émettriez pour faire un répertoire, si vous savez une dernière fois que vous exécutez un script réussi, vous pouvez analyser le résultat de la liste et agir sur les nouveaux fichiers le répertoire. Voir le ftplib pour plus d'informations sur la façon de le faire. La fonction Retrlines est ce que je m'attendais à utiliser.

+0

Lien décédés. Code pertinent introuvable. –

1

On dirait que tout système générant automatiquement un fichier une fois par heure utilisera probablement un schéma de nommage automatisé. Êtes-vous trop penser au problème en demandant au serveur pour le plus récent fichier au lieu d'analyser plus facilement les noms de fichiers?

Cela ne fonctionnerait pas dans tous les cas, et si le répertoire devenait volumineux, il pourrait prendre beaucoup de temps pour obtenir la liste des fichiers. Mais il semble susceptible de fonctionner dans la plupart des cas.

+0

Je dois le faire sur plus d'un serveur et chaque client a un schéma de nommage différent. – scottm

+0

Eh bien, cela ressemble à un cas pour lequel ma suggestion ne fonctionnerait pas. – acrosman

+0

effectivement, ont fourré un peu, si le serveur ne respecte pas MDTM, je ne trouve aucune référence à d'autres commandes qui feront le travail. Vous pourriez être bloqué avec cette solution. – acrosman

Questions connexes