有一个类应该创建一个描述连接到远程Linux服务器使用paramiko的对象。Python类奇怪的行为
class Oracle:
def __init__(self):
...
self.outfile = outfile
在这堂课我有2个功能。文件的一个回报列表:
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)
如果我通过价值get_arcs手动它的工作原理确定。
如果我手动通过oratab调用,它工作正常。
如果我合计这两个功能结合在一起:
for i, y in zip(instance.get_arcs(), instance.oratab()):
print i, y
它返回相同的结果两次,即使它应该削减到最小的一个(这两个列表是3元大) 所以,如果我呼吁所有那些没有另一个函数的调用看起来不错,但是如果它们在同一个脚本中执行,结果都是意外的(即使没有zip())
我想:__for一个在(0,1,2):对于I,Y拉链(名单(instance.get_arcs(一)) ,instance.oratab()):print i,y__但它返回了第一个func可迭代的罚款,但第二个没有被迭代:http://prntscr.com/et3dmg __orcl__是oratab的第一个元素,每当其他2个没有被称为 – feedthemachine
我宁愿不迭代我的oratab函数,因为它需要大量的代码重构 – feedthemachine