# `pwnlib.term.readline` — Terminal nice readline

pwnlib.term.readline.eval_input(prompt='', float=True)

  Replacement for the built-in python 2 - style `input` using `pwnlib` readline implementation, and pwnlib.util.safeeval.expr instead of `eval` (!).

  Parameters:

    - prompt (str) – The prompt to show to the user.

    - float (bool) – If set to `True`, prompt and input will float to the bottom of the screen when term.term_mode is enabled.

  Example

      >>> try:
      ...     saved = sys.stdin, pwnlib.term.term_mode
      ...     pwnlib.term.term_mode = False
      ...     sys.stdin = io.TextIOWrapper(io.BytesIO(b"{'a': 20}"))
      ...     eval_input("Favorite object? ")['a']
      ... finally:
      ...     sys.stdin, pwnlib.term.term_mode = saved
      Favorite object? 20

pwnlib.term.readline.raw_input(prompt='', float=True)

  Replacement for the built-in `raw_input` using `pwnlib` readline implementation.

  Parameters:

    - prompt (str) – The prompt to show to the user.

    - float (bool) – If set to True, prompt and input will float to the bottom of the screen when term.term_mode is enabled.

pwnlib.term.readline.str_input(prompt='', float=True)

  Replacement for the built-in `input` in python3 using `pwnlib` readline implementation.

  Parameters:

    - prompt (str) – The prompt to show to the user.

    - float (bool) – If set to True, prompt and input will float to the bottom of the screen when term.term_mode is enabled.