nil?
输出:
连接成功
线程已完成...正在退出
连接成功
线程已完成...正在退出
问题:不读取第二个函数command(),是否需要调用第一个函数中的第二个函数?
答案 0 :(得分:0)
正在阅读command()
并构建函数。定义它后,您永远不会再使用此函数。我建议您review functions in python
您的代码需要进行调整:
def conn(device):
connect = ConnectHandler(device_type='cisco_ios',
username='kiran', ip=device, password='ciscossh',secret='ciscoen')
print 'connection successful'
def commmand():
value = connect.send('sh int ip brief')
print value
command() # call your function!!! otherwise it is useless...
答案 1 :(得分:0)
我应该尝试澄清一些对您有帮助的观点。
-即使您正在定义command()
方法,它也不会被显式调用,因此肯定不应该打印出答案。
-您的线程现在的工作方式是非常同步的。当您使用join()
时,它将阻塞线程的执行,直到完成为止,并且由于没有同时初始化其他线程,因此代码执行仍然很简单。如果符合您的兴趣,则可以考虑启动所有线程,然后在 for 循环之后加入它们。
-网络连接有时需要独立的核心资源,并且具有单独的处理器或内存要求。在这种情况下,您可能想探索Python的 multiprocessing 模块,而不是 threading 。
-如果您有兴趣启动多个线程|进程,每个线程每个迭代( for 循环),您可能需要考虑使用Pool
对象,从而在一个数据结构中为您提供多个线程。
希望这会有所帮助。