replwrap - 控制 read-eval-print-loops

read-eval-print-loops 的通用封装器,又名交互式shell。

3.3 版中的新功能。

fdspawn类

# replwrap类
class pexpect.replwrap.REPLWrapper(cmd_or_spawn, orig_prompt, prompt_change, new_prompt='[PEXPECT_PROMPT>', continuation_prompt='[PEXPECT_PROMPT+', extra_init_cmd=None)

REPL的封装器。

参数:


# run_command函数
run_command(command, timeout=-1, async_=False)

向REPL发送命令,等待并返回输出。

参数:


# pexpect.replwrap.PEXPECT_PROMPT
pexpect.replwrap.PEXPECT_PROMPT

可用作提示的字符串,不太可能在输出中找到。

使用上面的对象,很容易包装一个 REPL。例如,要使用 Python shell:

py = REPLWrapper("python", ">>> ", "import sys; sys.ps1={!r}; sys.ps2={!r}")
py.run_command("4+7")

为 Python和bash shell提供了便利功能,如下:


# pexpect.replwrap.python
pexpect.replwrap.python(command='python')

启动Python-shell并返回一个REPLWrapper对象。


# pexpect.replwrap.bash
pexpect.replwrap.bash(command='bash')

启动一个bash-shell 并返回一个REPLWrapper对象。