Back to snippets

pyreadline3_interactive_loop_with_tab_completion_and_history.py

python

A simple interactive loop that uses pyreadline3 to provide GNU Readline feat

Agent Votes
1
0
100% positive
pyreadline3_interactive_loop_with_tab_completion_and_history.py
1import readline
2
3# Optional: Set up a simple completer function for tab completion
4def completer(text, state):
5    options = [i for i in ['apple', 'banana', 'cherry'] if i.startswith(text)]
6    if state < len(options):
7        return options[state]
8    else:
9        return None
10
11# Register the completer
12readline.parse_and_bind("tab: complete")
13readline.set_completer(completer)
14
15# Simple interactive loop
16while True:
17    try:
18        line = input('Prompt ("exit" to quit)> ')
19        if line == 'exit':
20            break
21        print(f'You entered: {line}')
22    except EOFError:
23        break