Question

J'ai googlé mais je ne pouvais trouver comment télécharger un fichier ... et je suis en train de télécharger tous les fichiers de répertoire local dans le répertoire ftp distant. Toute idée comment y parvenir?

Était-ce utile?

La solution

avec la boucle?

modifier : dans le cas où le téléchargement de fichiers universel seulement ressemblerait à ceci:

import os
for root, dirs, files in os.walk('path/to/local/dir'):
    for fname in files:
        full_fname = os.path.join(root, fname)
        ftp.storbinary('STOR remote/dir' + fname, open(full_fname, 'rb'))

De toute évidence, vous devez regarder pour les collisions de noms si vous êtes juste en conservant les noms de fichiers comme celui-ci.

Autres conseils

Regardez Python-scriptlines nécessaires pour faire télécharger -files de JSON-Call et à côté ftplib-opération: pourquoi certains ajouts, mais d'autres pas?

Bien une autre position de départ de votre question, dans le Réponse de cette première URL que vous voyez une construction par exemple pour télécharger par ftplib un fichier JSON-plus un fichier xml: regardez igne_script 024 et plus loin.

Dans la deuxième URL que vous voyez d'autres aspects liés à la télécharger des fichiers plus.

également applicable pour d'autres types de fichiers que JSON et XML, évidemment avec un autre « entrée » avant les 2 dernières sections qui définissent et réaliser les FTP_Upload fonction.

Créer un fichier de commandes FTP (avec une liste de fichiers que vous devez transférer). Utilisez python pour exécuter ftp.exe avec l'option « -s » et passe dans la liste des fichiers.

Ceci est kludgy mais apparemment le ftplib ne pas accepter plusieurs fichiers dans sa commande STOR.

Voici un exemple de fichier batch ftp.

*

OPEN inetxxx 
myuser mypasswd 
binary 
prompt off 
cd ~/my_reg/cronjobs/k_load/incoming 
mput *.csv 
bye
  • Si le contenu ci-dessus étaient dans un fichier appelé « abc.ftp » - alors ma commande ftp serait

    ftp -s abc.ftp

L'espoir qui aide.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top