Освоение удаленных операций с файлами с помощью Paramiko: подробное руководство

В этой статье блога мы погрузимся в мир удаленных операций с файлами с помощью Paramiko, мощной библиотеки Python для связи SSH и SFTP. Независимо от того, являетесь ли вы опытным разработчиком или только начинаете, это руководство предоставит вам различные методы навигации по каталогам, изменения каталогов и выполнения файловых операций на удаленных серверах с помощью Paramiko. Так что хватайте шляпу программиста и начнем!

Метод 1: навигация по каталогам
Для навигации по каталогам с помощью Paramiko мы можем использовать метод sftp.listdir(). Он возвращает список файлов и каталогов по указанному пути. Вот пример:

import paramiko
# Establish SSH connection
ssh = paramiko.SSHClient()
ssh.connect('remote_host', username='username', password='password')
# Create SFTP client
sftp = ssh.open_sftp()
# List files and directories in the current working directory
current_dir = sftp.getcwd()
contents = sftp.listdir(current_dir)
# Print the contents
for item in contents:
    print(item)
# Close the connection
sftp.close()
ssh.close()

Метод 2: изменение каталогов
Чтобы изменить каталоги с помощью Paramiko, мы можем использовать метод sftp.chdir(). Это позволяет нам перейти в другой каталог на удаленном сервере. Вот пример:

import paramiko
# Establish SSH connection
ssh = paramiko.SSHClient()
ssh.connect('remote_host', username='username', password='password')
# Create SFTP client
sftp = ssh.open_sftp()
# Change the current working directory
new_dir = '/path/to/new_directory'
sftp.chdir(new_dir)
# Print the current directory
print(sftp.getcwd())
# Close the connection
sftp.close()
ssh.close()

Метод 3: Создание каталогов
Парамико также предоставляет метод под названием sftp.mkdir()для создания каталогов на удаленном сервере. Вот пример:

import paramiko
# Establish SSH connection
ssh = paramiko.SSHClient()
ssh.connect('remote_host', username='username', password='password')
# Create SFTP client
sftp = ssh.open_sftp()
# Create a new directory
new_dir = '/path/to/new_directory'
sftp.mkdir(new_dir)
# Close the connection
sftp.close()
ssh.close()

Метод 4: загрузка файлов
Чтобы загрузить файлы на удаленный сервер с помощью Paramiko, мы можем использовать метод sftp.put(). Это позволяет нам передавать файлы с локального компьютера на удаленный сервер. Вот пример:

import paramiko
# Establish SSH connection
ssh = paramiko.SSHClient()
ssh.connect('remote_host', username='username', password='password')
# Create SFTP client
sftp = ssh.open_sftp()
# Upload a local file to the remote server
local_file = '/path/to/local_file.txt'
remote_file = '/path/to/remote_file.txt'
sftp.put(local_file, remote_file)
# Close the connection
sftp.close()
ssh.close()

Метод 5: загрузка файлов
Paramiko также предоставляет метод sftp.get()для загрузки файлов с удаленного сервера на локальный компьютер. Вот пример:

import paramiko
# Establish SSH connection
ssh = paramiko.SSHClient()
ssh.connect('remote_host', username='username', password='password')
# Create SFTP client
sftp = ssh.open_sftp()
# Download a remote file to the local machine
remote_file = '/path/to/remote_file.txt'
local_file = '/path/to/local_file.txt'
sftp.get(remote_file, local_file)
# Close the connection
sftp.close()
ssh.close()

В этой статье блога мы рассмотрели различные методы удаленных операций с файлами с помощью Paramiko. Мы научились перемещаться по каталогам, менять каталоги, создавать каталоги, загружать файлы и скачивать файлы на удаленных серверах. Благодаря этим новым знаниям вы теперь можете уверенно выполнять широкий спектр операций с файлами, используя Paramiko в своих проектах Python. Приятного кодирования!