2

pexpect.spawnを関数に入れると、失敗するようです。以下の例では、「/ tmp/no.txt」と「/tmp/yes.txt」の両方にアクセスすることを期待しています。/tmp/yes.txtにのみ触れます。'importpexpect'の明らかな場所をすべて試しました。エラーはスローされず、実行されません。提案をありがとう!

import pexpect
def fun():
    import pexpect
    fail = pexpect.spawn('touch /tmp/no.txt')

fun()
succeed = pexpect.spawn('touch /tmp/yes.txt')

$ ls /tmp/*.txt
/tmp/yes.txt
$ 
4

1 に答える 1

3

コマンドの実行を待つ必要があります。

import pexpect
def fun():
    #import pexpect you've already imported pexpect you don't need to import it again 
    fail = pexpect.spawn('touch /tmp/no.txt')
    fail.wait()

fun()
succeed = pexpect.spawn('touch /tmp/yes.txt')
succeed.wait()
于 2012-11-20T13:45:49.933 に答える