-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 に答える