Python递归函数返回None

问题描述

在尝试使用Paramiko SSH到服务器后,我试图使用递归函数查找提示。 一旦它在ssh通道的返回中找到“ admin:”,我想运行以返回“ True”。 但是以下内容仅返回“ None”,即使我取消对调试语句的哈希处理,我也可以看到在ssh通道中找到了elif条件,因为它是“ admin:”,并已添加到var“ buffer”中,但是返回仍然是None。我想念什么?

import paramiko

node = 'hostname'
username = 'administrator'
password = '****'

client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(hostname=node,username=username,password=password)

print('Connecting: ',node)

conn = client.invoke_shell()


def init_conn(buffer=''):

    #print("'admin' in buffer: ",'admin' in buffer)
    output = conn.recv(65535)
    buffer += str(output)

    if 'admin:' not in buffer:
        #print('ENTERING IF STATEMENT')
        init_conn(buffer)

    elif 'admin:' in buffer:
        #print('ENTERING ELSE STATEMENT')
        #print(buffer,'\n')
        return True

print(init_conn())

client.close
print('\n\nConnection Closed: ',node)

谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)