«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Какие библиотеки Python обеспечивают независимую от платформу поддержку SFTP?

Какие библиотеки Python обеспечивают независимую от платформу поддержку SFTP?

Опубликовано в 2025-03-22
Просматривать:819

Which Python Libraries Provide Platform-Independent SFTP Support?

Platform-независимый SFTP с Python

безопасная передача файла (SFTP) необходим для безопасного обмена данными, но поиск библиотеки Python, которые поддерживают, это может быть вызовом. Когда учетные данные пользователя и удаленные местоположения пользователя не являются вариантом, изучение альтернативных решений имеет решающее значение.

Paramiko-популярная библиотека Python для SFTP. Его синтаксис относительно прост, как показано ниже:

import paramiko

host = "THEHOST.com"
port = 22
transport = paramiko.Transport((host, port))

password = "THEPASSWORD"
username = "THEUSERNAME"
transport.connect(username=username, password=password)

sftp = paramiko.SFTPClient.from_transport(transport)

import sys
path = './THETARGETDIRECTORY/'   sys.argv[1]
localpath = sys.argv[1]
sftp.put(localpath, path)

sftp.close()
transport.close()
print('Upload done.')

Этот код загружает файл на удаленный сервер SFTP с использованием твердого кодированного хоста, порта, имени пользователя и пароля. Тем не менее, важно отметить, что усердно кодирующие учетные данные не считаются передовой практикой, и их следует избегать, когда это возможно. Это более сложная библиотека, но предлагает более широкий спектр функций. Вот пример того, как использовать Twisted для SFTP:

из Twisted.conch.ssh import userauth, connection, channel, sftp пароль = "ThePassword" username = "theusername" Transport = connection.sshclientFactory (). BuildProtoCol ('LocalHost', нет) transport.requestservice (userauth.sshuserauthclientpassword (имя пользователя, пароль)) sftp = channel.sshchannel (транспорт) sftp.request_sftp () Импорт Sys path = './theargetDirectory/' sys.argv [1] localpath = sys.argv [1] sftp.sendfile (localpath, path) sftp.close () Transport.loseConnection () print ('upload выполнен. Paramiko проще в использовании, в то время как Twisted предлагает более продвинутые функции. Выбор между ними зависит от конкретных требований проекта.
]
Заявление о выпуске Эта статья воспроизводится: 1729596378 Если есть какие -либо нарушения, пожалуйста, свяжитесь с учебным заведением[email protected], чтобы удалить его.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3