170 похожих чатов

# Remote directory pathremote_directory = '/path/to/your/remote/directory/' # Establish an SSH connection ssh

= paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname, port, username, password)

try:
# Run ls to list files in the remote directory
stdin, stdout, stderr = ssh.exec_command(f"ls -l {remote_directory}")
file_listing = stdout.read().decode()

# Print the file listing
print(file_listing)

# Assuming you want to open a specific file, replace 'filename.txt' with the actual filename
target_file = 'filename.txt'

# Open the specific file using open_sftp
with ssh.open_sftp().file(remote_directory + target_file, 'r') as remote_file:
file_content = remote_file.read()

# Print the content
print(file_content.decode())
except FileNotFoundError as e:
print(f"File not found: {e}")
finally:
# Close the SSH connection
ssh.close()


Path правильный (имя файла получаю из удалённого ls), но когда открываю файл, ругается что FileNotFoundError, может кто видит причину?

6 ответов

32 просмотра
Ilya- Автор вопроса

Уточню, что там где target_file = filename.txt, я имя файла беру из file_listing, просто там ещё функция, скинул абстрактный код, за этим моментом всё одинакого. Правильно там стоит remote_directory + target_file? Вроде должно работать.

Ilya- Автор вопроса
Ilya
Уточню, что там где target_file = filename.txt, я ...

Хм забавно, после открытия getcwd возвращает ничего, а после chdir(".") правильно возвращает путь.

Ilya- Автор вопроса
Ilya
Хм забавно, после открытия getcwd возвращает ничег...

Но прикол даже не в этом, ему надо путь обязательно давать начиная с абсолютного /, он ~/ не понимает. Кто расскажет почему?

Ilya- Автор вопроса
Dmitry
Потому что каталога ~ не находит ?

Понятно, то есть он у него не определён ( у сфтп) это алиас в линуксе, но не в пакете да?

Ilya
Понятно, то есть он у него не определён ( у сфтп) ...

Я хз что у вас там в "пакете", у меня там вот сейчас хлеб с магазина....

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
1
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Карта сайта