Невозможно изменить каталог, используя Python Paramiko - PullRequest
1 голос
/ 15 апреля 2020

На самом деле мне нужно проверить файл с помощью Paramiko. Я получаю следующую ошибку. Было бы полезно, если бы кто-нибудь из вас мог решить эту проблему.

import paramiko
try:
    host = '23.120.7.00'
    username = 'UNAME1'
    password = 'UNAME12'
    file_to_check = '\\\\ipconnect\\ABCS\\IPXADEP\\file1.dta'
    client = paramiko.SSHClient()
    client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    client.connect(host,username=username, password=password)
    channel = client.get_transport().open_session()
    channel.exec_command('cd \\\\ipconnect\\ABCS\\IPXADEP')
    stdin, stdout, stderr = channel.exec_command('ls')
    stdout = channel.makefile().read()
    output = stdout.decode('utf-8').split('\n')[:-1]
    print(output)
    client.close()
except Exception as e:
    print(str(e))

Я получаю следующую ошибку:

не могу распаковать не повторяемый объект NoneType

Мне нужно проверить, присутствует ли упомянутый выше файл в этой конкретной папке. Почему нельзя перечислить файлы? Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 15 апреля 2020

Во-первых, ваш код не может работать таким образом.

См. Выполните несколько команд в Paramiko, чтобы на команды влияли их предшественники


Но для манипулирования файлы, вы не должны использовать команды оболочки в любом случае. Используйте стандартный API S SH для управления файлами, SFTP :

sftp = client.open_sftp()

stat = sftp.stat(path_to_file)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...