Pregunta

He buscado en google pero sólo pude encontrar cómo subir un archivo...y estoy tratando de cargar todos los archivos del directorio local a remoto directorio ftp.Alguna idea de cómo lograr esto?

¿Fue útil?

Solución

con el bucle?

editar : en el caso universal de subir sólo los archivos se vería así:

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'))

Obviamente, es necesario mirar hacia fuera para conflictos de nombres si acaba de preservar los nombres de esta manera.

Otros consejos

Mira Python-scriptlines necesario para hacer subir archivos JSON-Llamada y el próximo FTPlib-operación:por qué algunas subidas, pero hay otros que no?

Aunque una diferente posición de partida de su pregunta, en el Respuesta de la primera url que usted vea un ejemplo de la construcción a subir por ftplib un json-plus de archivo xml archivo:mira scriptline 024 y más.

En la segunda dirección url se puede ver algunos otros aspectos relacionados con la carga de varios archivos.

También aplica para otros tipos de archivo de json y xml, obviamente con diferentes 'entrada' antes de las 2 secciones finales que definen y dan cuenta de la FTP_Upload-función.

Crear un archivo de FTP por lotes (con una lista de archivos que necesita para transferir). El uso de Python para ejecutar ftp.exe con la opción "-s" y pasan en la lista de archivos.

Este es kludgy pero al parecer el ftplib no tiene aceptar múltiples archivos en su comando STOR.

Aquí es un archivo por lotes de FTP muestra.

*

OPEN inetxxx 
myuser mypasswd 
binary 
prompt off 
cd ~/my_reg/cronjobs/k_load/incoming 
mput *.csv 
bye
  • Si los contenidos superiores estaban en un archivo llamado "abc.ftp" - entonces mi comando ftp sería

    ftp -s abc.ftp

Espero que ayude.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top