У меня есть 3 файла: a.py
, b.sh
и text.txt
. Их содержание следующее:
a.py:
#!/usr/bin/env python
import os, pexpect
class zz:
def __init__(self):
child = pexpect.spawn ('/home/usr/Desktop/b.sh')
### VVV LINE IN QUESTION BELOW VVV
child.expect(pexpect.EOF)
child.sendline('q')
child.interact()
z = zz()
b.sh:
less /home/usr/Desktop/text.txt
echo 'all done'
sleep 3
текст.txt:
thisistext
Файлы text.txt
и b.sh
доступны только для чтения и не должны изменяться. Как выйти из less
, используя pexpect изнутри a.py
?
bc.sh
в строкеspawn
. Это как задумано? Удачи. - person shellter   schedule 25.06.2013cat .../text.txt
. Если вы хотите, чтобы пользователь мог пользоваться интерактивными функциямиless
, то как/почему следует задействоватьpexpect
? Существует опцияless
, которая будет отображать и закрывать файл (я думаю), или, если нет, другая командная строка выбирает меньше или LESS envvar может вам помочь. Удачи. - person shellter   schedule 26.06.2013b.sh
доступен только для чтения - он подлежит обновлениям, поэтому я не могу изменить в нем команду less из-за внешнего обновленного сценарияb.sh
, который все время перезаписывает мой патч. Если бы я мог, я бы вообще удалилless
. - person mh00h   schedule 26.06.2013