= 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, может кто видит причину?
Уточню, что там где target_file = filename.txt, я имя файла беру из file_listing, просто там ещё функция, скинул абстрактный код, за этим моментом всё одинакого. Правильно там стоит remote_directory + target_file? Вроде должно работать.
Хм забавно, после открытия getcwd возвращает ничего, а после chdir(".") правильно возвращает путь.
Но прикол даже не в этом, ему надо путь обязательно давать начиная с абсолютного /, он ~/ не понимает. Кто расскажет почему?
Потому что каталога ~ не находит ?
Понятно, то есть он у него не определён ( у сфтп) это алиас в линуксе, но не в пакете да?
Я хз что у вас там в "пакете", у меня там вот сейчас хлеб с магазина....
Обсуждают сегодня