Рубрики
Без рубрики

Python FTP.

Python FTP, Python FTP Загрузка файла загрузки Python FTP, Python FTP-сервер, Python FTP-сервер, Python FTP-клиент, текущий каталог Python FTP, CWD, PWD-команды Пример.

Автор оригинала: Pankaj Kumar.

Сегодня мы узнаем о операциях Python FTP. FTP – это аббревиатура для протокола передачи файлов. Также как то, что звучит, этот протокол используется для передачи файлов в сети от источника к машине назначения.

В этом посте на модуле Python FTP мы увидим, как подключиться к FTP-серверу, загрузить и загружать файлы и гораздо больше. Давайте начнем.

Python FTP.

С Python, FTPLIB модуль Предоставляет все функции, которые нам могут потребоваться выполнить действия по сравнению с протоколом FTP. Давайте начнем исследовать этот урок с простым попыткой подключения.

Подключение к FTP-серверу с помощью функции ()

Мы начнем, сделав подключение к FTP-серверу. Мы будем использовать сервер, публично доступный для использования, ftp.cse.buffalo.edu Отказ Не стесняйтесь выбирать любой сервер, просто убедитесь, что вы выбираете правильный сервер, в противном случае вы столкнетесь с ошибками подключения.

Мы напишем простой скрипт для подключения к указанному серверу:

from ftplib import FTP

# Host to connect to
host = 'ftp.cse.buffalo.edu'

# Make an Python FTP object and anonymously login
ftp = FTP(host)
print(ftp.login())

Посмотрите, как мы можем войти без имени пользователя и пароля? Который поддерживается только несколькими серверами. Давайте увидим вывод:

from ftplib import FTP

# Host to connect to
host = 'ftp.cse.buffalo.edu'
port = 8099

# Make an FTP object and anonymously login
ftp = FTP(host, port)
print(ftp.login())

Позаботьтесь о том, чтобы порт, который вы подключаетесь к фактически поддерживает входящий FTP-соединение.

Чувствовать себя приветственным с getwelcome () функцией

Сервер может заставить вас чувствовать себя приветствовать, вернув сообщение. Это сообщение может быть получено с использованием функции GetWelce (). Простота в использовании, давайте поместим его в примере:

from ftplib import FTP

# Host to connect to
host = 'ftp.cse.buffalo.edu'

# Make an FTP object and anonymously login
ftp = FTP(host)
print(ftp.login())
print(ftp.getwelcome())

Выход для этого скрипта просто покажет простое сообщение, которое может быть что-нибудь:

Настоящий каталог с функцией PWD ()

Мы можем получить путь в настоящее время рабочего каталога сервера нашего подключения в настоящее время:

from ftplib import FTP

host = 'ftp.cse.buffalo.edu'
ftp = FTP(host)
ftp.login()

ftp.cwd('mirror')
print(ftp.pwd())

Выход для этого скрипта просто покажет настоящий рабочий каталог:

Доступ к каталогам с функцией Retlelines ()

Теперь, как и открытая SSH Shell, мы можем использовать FTPLIB Чтобы получить доступ к каталогам на сервере, перемещаться по ним и изменить их на основе потребностей.

from ftplib import FTP

# Host to connect to
host = 'ftp.cse.buffalo.edu'

# Make an FTP object and anonymously login
ftp = FTP(host)
print(ftp.login())

# List directories in current path
print(ftp.retrlines('LIST'))

Посмотрите на последнюю строчку, мы использовали Погрешние (...) Функция, чтобы перечислить текущие каталоги. Выход для этого скрипта будет:

Изменение каталогов с функцией CWD ()

В приведенном выше примере мы перечислили каталоги наш скрипт в настоящее время. Чтобы добавить, мы можем легко увидеть текущий каталог как:

from ftplib import FTP

# Host to connect to
host = 'ftp.cse.buffalo.edu'

# Make an FTP object and anonymously login
ftp = FTP(host)
print(ftp.login())

# List directories in current path
print(ftp.retrlines('LIST'))

# Change into one of the sub-directories
ftp.cwd('mirror')
print(ftp.retrlines('LIST'))

Здесь мы переключаемся на один из подкуроров, которые мы заметили в более раннем забеге, и мы получаем следующие результаты: прошедший атрибут списка просто вытаскивает файлы и папки в текущем каталоге вместе со своей информацией, которую мы затем печатаем.

Отправить команду на сервер с функцией sendcmd ()

Используя sendcmd () Функция, мы можем отправить простую строку команду на сервер и получить ответ строки. Например, мы отправим state command, которая может проверить состояние fo сервер:

from ftplib import FTP

host = 'ftp.cse.buffalo.edu'
ftp = FTP(host)
print(ftp.login())

# Check server status
print(ftp.sendcmd('STAT'))

Когда мы запускаем этот скрипт, мы видим полный вывод на нашей консоли:

Загрузка файлов с помощью функции RetBrina ()

Использование модуля FTPLIOB мы можем даже загружать файлы локально. Стоит отметить, что для этого вы должны иметь правильный доступ к серверу и каталогам, а имена файлов и точные пути должны быть известны.

Мы просто доступ к файлу на сервере и загружаем его локально:

from ftplib import FTP

host = 'ftp.cse.buffalo.edu'
ftp = FTP(host)
ftp.login()

ftp.cwd('CSE421')
print(ftp.retrlines('LIST'))

out = '/Users/shubham/README.txt'
with open(out, 'wb') as f:
    ftp.retrbinary('RETR ' + 'README.txt', f.write)

Я добавляю некоторые печатные заявления между, чтобы сделать вывод немного более понятным. Давайте запустим эту программу сейчас: и вот файл, который был загружен: обратите внимание, что вам нужно будет изменить местоположение загрузки файла на основе вашего пути к локальному компьютеру перед запуском этого кода.

Закрыть соединение с close () функцией

Мы должны закрыть FTP-соединение, как только мы закончим с любыми задачами, необходимыми для выполнения:

from ftplib import FTP

host = 'ftp.cse.buffalo.edu'
ftp = FTP(host)
ftp.login()

ftp.cwd('mirror')
print(ftp.pwd())

ftp.close()
print('Connection closed.')

Выход для этого скрипта будет просто показывать настоящий рабочий каталог: помните, мы не можем открыть замкнутый FTP-соединение Python.

В этом уроке мы узнали о различных способах, через которые мы можем получить доступ к FTP-серверу и играть с каталогами и полностью управлять.

Ссылка: API док