Проверка существования файла на удаленном SSH-сервере с использованием Python

У меня есть два сервера A и B. Я должен отправить, пусть сказал файл изображения, с сервера A на другой сервер B. Но прежде чем сервер A мог отправить файл, я бы хотел проверить, существует ли подобный файл на сервере B. Я пытаюсь использовать os.path.exists (), и он не работает.

print os.path.exists('ubuntu@serverB.com:b.jpeg') 

Результат возвращает false, даже я поставил точный файл на сервере B. Я не уверен, является ли это моей синтаксической ошибкой или есть лучшее решение этой проблемы. спасибо

  • Рекурсивная папка Python
  • 32-разрядные ограничения памяти Python на 64-битных окнах
  • Чтение файла с использованием «open ()« vs »с open ()«
  • Ошибка SSL: процедуры: SSL3_GET_SERVER_CERTIFICATE: проверка сертификата не выполнена
  • Как читать последний МБ очень большого текстового файла
  • IOError при попытке открыть существующие файлы
  • Как читать числа из файла в Python?
  • На месте замены текста в файле на Python
  • Как читать файл изображения с помощью Python?
  • Python 2.7: печать в файл
  • Как найти среднее значение в файле .txt
  • замена текста в файле с помощью Python
  • One Solution collect form web for “Проверка существования файла на удаленном SSH-сервере с использованием Python”

    Функции os.path работают только с файлами на одном компьютере. Они работают по путям , а ubuntu@serverB.com:b.jpeg не путь.

    Для этого вам нужно будет удаленно выполнить сценарий. Что-то вроде этого будет работать, как правило:

     def exists_remote(host, path): """Test if a file exists at path on a host accessible with SSH.""" status = subprocess.call( ['ssh', host, 'test -f {}'.format(pipes.quote(path))]) if status == 0: return True if status == 1: return False raise Exception('SSH failed') 

    Таким образом, вы можете получить, если файл существует на другом сервере с:

     if exists_remote('ubuntu@serverB.com', 'b.jpeg'): # it exists... 

    Обратите внимание, что это, вероятно, будет невероятно медленным, вероятно, даже более 100 мс.

    Python - лучший язык программирования в мире.