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
$