Сообщить об ошибке.

FTP-клиент на Python

Модуль ftplib определяет класс ftplib.FTP() и несколько связанных элементов.

Класс ftplib.FTP() реализует клиентскую часть протокола FTP. Этот класс можно использовать для написания программ Python, которые выполняют различные автоматизированные задания FTP, такие как зеркалирование других FTP-серверов. Он также используется модулем urllib.request для обработки URL-адресов, использующих FTP. Для получения дополнительной информации о FTP (протоколе передачи файлов) смотрите документацию "Internet RFC 959".

Кодировка по умолчанию - UTF-8 в соответствии с RFC 2640.

Этот модуль не работает или недоступен на платформах WebAssembly wasm32-emscripten и wasm32-wasi.

Кто ищет реализацию серверной части протокола FTP на Python, то смотрите документацию по стороннему модулю pyftpdlib.

Пример сеанса с использованием модуля ftplib:

>>> from ftplib import FTP
# подключаемся к хосту, порт по умолчанию
>>> ftp = FTP('ftp.us.debian.org')
# пользователь `anonymous`, пароль `anonymous@`
# (по умолчанию)
>>> ftp.login()
# '230 Login successful.'

# выбираем каталог "debian"
>>> ftp.cwd('debian')
# '250 Directory successfully changed.'

# список содержимого каталога
>>> ftp.retrlines('LIST')
# -rw-r--r--    1 4024     4024         1328 Sep 10 10:42 README
# ...
# -rw-r--r--    1 4024     4024       254664 Dec 10 08:25 extrafiles
# drwxr-xr-x    3 4024     4024         4096 Dec 10 08:18 indices
# -rw-r--r--    1 4024     4024     17037473 Dec 10 02:35 ls-lR.gz
# drwxr-xr-x    6 4024     4024           90 Oct 05 17:09 pool
# drwxr-xr-x    4 4024     4024           67 Nov 17  2008 project
# drwxr-xr-x    3 4024     4024           77 Oct 10  2012 tools
# drwxr-xr-x   26 4024     4024         4096 Aug 14  2021 zzz-dists
# '226 Directory send OK.'

# сохраняем файл 'README' на диск
>>> with open('README', 'wb') as fp:
...     ftp.retrbinary('RETR README', fp.write)
# '226 Transfer complete.'

# отключаемся от FTP
>>> ftp.quit()
# '221 Goodbye.'