Модуль 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.'