Загружайте файлы с помощью SFTP в Python, но создавайте каталоги, если путь не существует.Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Загружайте файлы с помощью SFTP в Python, но создавайте каталоги, если путь не существует.

Сообщение Anonymous »

Я хочу загрузить файл на удаленный сервер с Python. Я хотел бы заранее проверить, действительно ли существует удаленный путь, и если нет, создать его. В псевдокоде:

Код: Выделить всё

if(remote_path not exist):
create_path(remote_path)
upload_file(local_file, remote_path)
Я думал о выполнении команды в Paramiko для создания пути (например, mkdir -p Remote_path). У меня получилось следующее:

Код: Выделить всё

# I didn't test this code

import paramiko, sys

ssh = paramiko.SSHClient()
ssh.connect(myhost, 22, myusername, mypassword)
ssh.exec_command('mkdir -p ' + remote_path)
ssh.close

transport = paramiko.Transport((myhost, 22))
transport.connect(username = myusername, password = mypassword)

sftp = paramiko.SFTPClient.from_transport(transport)
sftp.put(local_path, remote_path)
sftp.close()

transport.close()
Но мне это решение не кажется хорошим, потому что я закрываю соединение, а затем снова открываю его. Есть ли лучший способ сделать это?

Подробнее здесь: https://stackoverflow.com/questions/148 ... esnt-exist
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»