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

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

23.06.2022, 18:51. Показов 2377. Ответов 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
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 05.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru