IOError: [Errno 2] Нет такого файла - Paramiko put ()
m загрузка файла через SFTP с использованиемParamiko сsftp.put(localFile, remoteFile)
, Сначала я делаю необходимый каталог с помощью
makeCommand = 'mkdir -p "' + remotePath + '"'
ssh.exec_command(makeCommand)
иногда это работает, но яиногда получаю следующую ошибку:
sftp.put(localFile, remoteFile)
File "build/bdist.macosx-10.8-intel/egg/paramiko/sftp_client.py", line 565, in put
File "build/bdist.macosx-10.8-intel/egg/paramiko/sftp_client.py", line 245, in open
File "build/bdist.macosx-10.8-intel/egg/paramiko/sftp_client.py", line 635, in _request
File "build/bdist.macosx-10.8-intel/egg/paramiko/sftp_client.py", line 682, in _read_response
File "build/bdist.macosx-10.8-intel/egg/paramiko/sftp_client.py", line 708, in _convert_status
IOError: [Errno 2] No such file
несмотря на то, что локальный файл определенно существует (иlocalFile
это правильный путь к нему) и удаленный путь сделан. Есть обсуждениеВот а такжеВот по аналогичной проблеме, но ни один из поднятых там вопросов не помог мне. Мой сервер поддерживаетdf -hi
команда. Кто-нибудь советует по этому или возможному решению?
РЕДАКТИРОВАТЬ
После предложений ниже я попытался изменить рабочий каталог с помощьюsftp.chdir(remoteDirectory)
но этот вызов вызвал ту же ошибку, что и выше. Так что, похоже, это непросто проблема с загрузкой. Есть идеи?