Вопрос

Я погуглил, но нашел только один файл...и я пытаюсь загрузить все файлы из локального каталога в удаленный каталог FTP.Есть идеи, как этого добиться?

Это было полезно?

Решение

с петлей?

редактировать:в универсальном случае загрузка только файлов будет выглядеть так:

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

Очевидно, вам нужно следить за конфликтами имен, если вы просто сохраняете такие имена файлов.

Другие советы

Посмотри на Сценарии Python, необходимые для загрузки файлов из JSON-Call и следующий FTPlib-операция:почему одни загружают, а другие нет?

Хотя исходная позиция отличается от вашего вопроса, в Отвечать из этого первого URL-адреса вы видите пример конструкции для загрузки с помощью ftplib файла json и файла xml:посмотрите строку сценария 024 и далее.

Во втором URL-адресе вы видите некоторые другие аспекты, связанные с загрузкой дополнительных файлов.

Также применимо для других типов файлов, кроме json и xml, очевидно, с другой «записью» перед двумя последними разделами, которые определяют и реализуют функцию FTP_Upload.

Создайте пакетный файл FTP (со списком файлов, которые необходимо передать).Используйте Python для запуска ftp.exe с опцией «-s» и передайте список файлов.

Это неуклюже, но, видимо, FTPlib не принимает несколько файлов в своей команде STOR.

Вот пример пакетного файла FTP.

*

OPEN inetxxx 
myuser mypasswd 
binary 
prompt off 
cd ~/my_reg/cronjobs/k_load/incoming 
mput *.csv 
bye
  • Если бы вышеуказанное содержимое было в файле с именем «abc.ftp», тогда моя команда ftp была бы такой:

    ftp -s abc.ftp

Надеюсь, это поможет.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top