-1

我真的很困惑,我写了这段代码,我试图引入我定义的一些函数,但我没有在某处传递正确的信息。有没有人有任何提示或指示?我不确定如何描述我的问题,但错误是:

Traceback (most recent call last):
  File "./test3.py", line 54, in <module>
    bar()
  File "./test3.py", line 26, in disconnectvpn
    child.sendcontrol('c')
NameError: global name 'child' is not defined

我的固定程序代码如下所示:

def foo():
    child = pexpect.spawn ('./script.sh -arg1')
    child.expect ('(?i)user input:')
    child.sendline ('response')
    return child
def bar(child):
    child.sendcontrol('c')

a = foo()

bar(a)
4

2 回答 2

1
  1. 首先,您需要从中返回子对象connectvpn()并捕获它
  2. disconnectvpn()使用前需要传入
于 2012-12-29T05:23:27.063 回答
0

您只想将子变量从函数connectvpn传递给函数disconnectvpn()吗?

您只需要保存返回的变量connectvpn(),然后将该变量用作函数中的disconnectvpn参数。

例如:

a= connectvpn()

print "Establishing connection..." 

time.sleep(10) 

disconnectvpn(a)

告诉我这是不是你的问题。问候

于 2012-12-29T19:08:43.893 回答