Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 24.10.2015
Сообщений: 142

Paramiko ssh - файл на сервере в папке есть, а при попытке скачать, пишет, что файла нет

23.06.2022, 18:51. Показов 2433. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет!
Мне необходимо скачать с сервера файлы из директории.
При просмотре директории выводит название файла (т.е. файл в директории есть), при попытке скачать из той же директории, пишет, что файла нет.
Подскажите, пожалуйста, в чем проблема и как исправить.
Благодарю!

Вот мой код:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import paramiko
 
host = '****'
login = 'root'
password = '*****'
port = 22
remote_path = '/home/test/test.txt'
local_path = "D:\Test"
 
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname=host, username=login, password=password, port=port)
ftp = ssh.open_sftp()
ftp.chdir("/home/test")
fileList = ftp.listdir()
print(fileList)
currentDir = ftp.getcwd()
print(currentDir)
ftp.get("D:\Test", "/home/test/test.txt")
Результат работы программы:
Python
1
2
['test.txt']
/home/test
Сообщение об ошибке, при попытке скачать файл:
Python
1
FileNotFoundError: [Errno 2] No such file or directory: '/home/test/test.txt'
Добавлено через 2 часа 6 минут
Частично разобрался. Работает такой вариант:
Python
1
ftp.get(os.path.join('test.txt'), os.path.join('D:/Test', 'test.txt'))
Т.е. здесь:
Python
1
ftp.chdir("/home/test")
я захожу в папку сервера /home/test. В этом случае вышеприведенный код работает.
Если закомментировать эту строку, то такая конструкция:
Python
1
2
ftp.get(os.path.join('/home/test', 'test.txt'), os.path.join('D:/Test', 'test.txt'))
#ftp.get(os.path.join('remote_path', 'test.txt'), os.path.join('D:/Test', 'test.txt'))
почему-то не работает - выводится сообщение об ошибке, что не может найти файл (см. пост выше).
Если кто-то подскажет где я "косячу" с путями - буду весьма признателен.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.06.2022, 18:51
Ответы с готовыми решениями:

Windows Server 2003: Dropbox, при попытке подключения к интернету для синхронизации пишет, что нет соединенияи
Доброго времени суток,уважаемые форумчане! Прошу помощи в разрешении проблемы. Имеется компьютер с ОС Win 2003 Server на...

Почему пишет что файла нет в директории, если он есть?
Хочу открыть .txt файл, который находится в одной папке с .py файлом, но пишет что файла нет в директории file = open( 'test.txt' ) ...

При попытке скачать откуда нибудь дрова на 3G CDMA MTC конект NOD 32 блокирует или пишет нежелательная программа
что делать если при попытке скачать откуда нибудь дрова на 3G CDMA MTC конект для 7 винды 64 NOD 32 блокирует или пишет нежелательная...

3
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
23.06.2022, 20:56
думаю проблема в D:/Test

- не ставьте слеши руками
- почитайте как писать пути в Windows
- почитайте про pathlib
- в ftp.get первых параметром указывайте путь, включая имя файла
1
0 / 0 / 0
Регистрация: 24.10.2015
Сообщений: 142
23.06.2022, 21:20  [ТС]
ОК, благодарю. Сейчас изучу.
Но, скрипт не видит файл на сервере, а не на локалке.
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
24.06.2022, 01:06
Цитата Сообщение от MaxGal Посмотреть сообщение
Но, скрипт не видит файл на сервере, а не на локалке.
это логично, Вы же посылаете путь который удаленная сторона должна понять, поэтому оба пути должны быть в формате, которая понимает та сторона соединения, которая отвечает за их использования.

Добавлено через 2 часа 9 минут
Цитата Сообщение от MaxGal Посмотреть сообщение
Мне необходимо скачать с сервера файлы из директории.
Подождите, Вам скачать нужно, то есть из удаленного "/home/test/test.txt" в локальную D:/Test?

Тогда у Вас параметры наоборот - .get(SRC, DST)
если скачать - то SRC - должен быть удаленный сервер
если загрузить - то SRC должен быть локальный сервер

путь если жесткачом задавать будете, то "D:\\Test\\test.txt" должно сработать.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.06.2022, 01:06
Помогаю со студенческими работами здесь

Bash - нет такого процесса. Пишет при попытке перезагрузить nginx на ubuntu
С конфигурационными файлами все в порядке. root@maxserver:~# nginx -c /etc/nginx/nginx.conf -t** nginx: the configuration file...

При вводе имени файла пишет, что не может открыть файл. В чем ошибка?
Сделал ехе(https://www.cyberforum.ru/asm-beginners/thread1713166.html), убрал предупреждение, но почему-то exe при вводе имени файла пишет...

Using есть, а оно пишет что его нет
После отката на предыдущий коммит, vs17 почем-то перестала видеть ссылку на сборку, хотя сборка есть. Очистка решения и пересборка не...

Пишет что нет интернета, хотя он есть
Здравствуйте уважаемые дамы и господа, пишу вам с такой проблемой. Пишет что подключение к интернету отсутствует, хотя по факту оно есть....

Программы самоудаляются. Но при попытке установить их пишет, что уже установлена
Проблема такая, программы самоудаляются. Но при попытке установить их пишет, что уже установлена. Папки так же удаляются. Что делать??


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru