有一个类,它应该创建一个对象,描述使用paramiko连接到远程Linux服务器的情况。你知道吗
class Oracle:
def __init__(self):
...
self.outfile = outfile
在这个类中,我有两个函数。其中一个返回文件列表:
def oratab(self):
self.remote.send("cat /etc/oratab\n")
...
return oralst
> [u'one', u'oneone', u'oneoneone']
另一个使用oratab func的文件列表从远程服务器返回信息:
def get_arcs(self, n):
yield basestatus, sum(lst)
self.remote.send("exit\n")
time.sleep(1)
如果我将值传递给手动获取弧,它可以正常工作。
如果我手动将调用传递给oratab,它可以正常工作。
如果我将这两个函数聚合在一起:
for i, y in zip(instance.get_arcs(), instance.oratab()):
print i, y
它返回相同的结果两次,即使它应该修剪到最小的一个(两个列表都是3元素大) 因此,如果我在没有另一个函数调用的情况下调用其中任何一个函数,看起来都很不错,但是如果它们都在同一个脚本中执行,那么结果会出人意料(即使没有zip())
get_arcs()
是生成器,oratab()
不是。请尝试使用我终于明白了:
相关问题 更多 >
编程相关推荐