【发布时间】:2017-03-24 08:31:58
【问题描述】:
我有一个函数 get_arcs():
for i in rng:
if not lines[i].startswith('[') and 'echo $ORACLE_SID' in lines[i].strip():
sid = lines[i + 2]
yield sid
if lines[i].strip().find('SELECT') == 0:
res = lines[i:]
for i in res:
print >> f, i.strip()
yield i.strip()
应该:
- 为变量 sid 分配一个特定的值
- 将不同的内容写入 f 文件
- 将 i.strip() 的生成器作为输出,将其传递给另一个函数并计算某些对象的总和
问题在于 get_arcs() 何时被调用:
for line in get_arcs():
if len(line.split()) == 13:
lst.append(int(line.split()[-5]))
print sum(lst), 'Bytes'
它确实按预期返回 sum(lst),但我如何检索我的 sid 值,因为我无法在函数之外的任何地方调用它。
【问题讨论】:
标签: python function variable-assignment