Python中文
首页
教程
问答
标签
搜索
登录
注册
Python类奇怪的行为
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>有一个类,它应该创建一个对象,描述使用paramiko连接到远程Linux服务器的情况。你知道吗</p> <pre><code>class Oracle: def __init__(self): ... self.outfile = outfile </code></pre> <p>在这个类中,我有两个函数。其中一个返回文件列表:</p> <pre><code>def oratab(self): self.remote.send("cat /etc/oratab\n") ... return oralst > [u'one', u'oneone', u'oneoneone'] </code></pre> <p>另一个使用oratab func的文件列表从远程服务器返回信息:</p> <pre><code>def get_arcs(self, n): yield basestatus, sum(lst) self.remote.send("exit\n") time.sleep(1) </code></pre> <p>如果我将值传递给手动获取弧,它可以正常工作。<br/> 如果我手动将调用传递给oratab,它可以正常工作。<br/> 如果我将这两个函数聚合在一起:</p> <pre><code>for i, y in zip(instance.get_arcs(), instance.oratab()): print i, y </code></pre> <p>它返回相同的结果两次,即使它应该修剪到最小的一个(两个列表都是3元素大) 因此,如果我在没有另一个函数调用的情况下调用其中任何一个函数,看起来都很不错,但是如果它们都在同一个脚本中执行,那么结果会出人意料(即使没有zip())</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p><code>get_arcs()</code>是生成器,<code>oratab()</code>不是。请尝试使用</p> <pre><code>zip(list(instance.get_arcs()), instance.oratab()) </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
当用户用PYTHON设置一个或一个不带值的URL时,他们怎么能输入一个/a的代码呢?
7 回答
当用户登录到站点时,如何显示不同的导航栏
9 回答
当用户登录时,在Flask中向用户显示处理结果
6 回答
当用户的Flask会话结束时,我如何从Redis后端中移除所有Celery结果?
6 回答
当用户的Okta配置文件字段当前为blan时,更新该字段
7 回答
当用户的付款逾期2天时,从Django模型检索数据
5 回答
当用户的消息以问号结尾时,如何让机器人说些什么?
2 回答
当用户的系统上可能也安装了Python 2.7时,如何在用户的系统上运行Python 3脚本?
4 回答
当用户确定打印数量时,使用Matplotlib打印动画
5 回答
当用户离开时是否可以删除整个网页?
7 回答
当用户给出一个单词时如何打印?
4 回答
当用户继续更改TKin中的值(使用trace方法)时,使用Entry并更新输入的条目
6 回答
当用户编辑表单字段时,从Django时间字段中删除秒数
5 回答
当用户被更改时,消息不会来自web套接字
4 回答
当用户访问表单时,如何使表单为只读,而不具有更改权限
3 回答
当用户试图更改对象的值时,使用描述符类引发RuntimeError
3 回答
当用户调整GUI的大小时,是否有方法更改GUI内容的大小?
1 回答
当用户调整风的大小时,pythontkinter小部件的大小会不均匀
2 回答
当用户购买某个类别时,是否查找其他类别的销售?
6 回答
当用户转到上一页时,Django和芹菜插入操作
5 回答