-2

Is there a way to build a simple Python Command Prompt Interface. It only needs to input text and Output something.

In the end the Interface should something look this:

sample

From Pycharm 2017 i get these error.

Traceback (most recent call last): File "C:/Users/Main/Desktop/Py Sandbox/Keylogger/test.py", line 4, in user_input = prompt('>') File "C:\Users\Main\AppData\Local\Programs\Python\Python35\lib\site-packages\prompt_toolkit\shortcuts.py", line 548, in prompt eventloop=eventloop) File "C:\Users\Main\AppData\Local\Programs\Python\Python35\lib\site-packages\prompt_toolkit\shortcuts.py", line 576, in run_application output=create_output(true_color=true_color)) File "C:\Users\Main\AppData\Local\Programs\Python\Python35\lib\site-packages\prompt_toolkit\shortcuts.py", line 118, in create_output return Win32Output(stdout) File "C:\Users\Main\AppData\Local\Programs\Python\Python35\lib\site-packages\prompt_toolkit\terminal\win32_output.py", line 80, in init info = self.get_win32_screen_buffer_info() File "C:\Users\Main\AppData\Local\Programs\Python\Python35\lib\site-packages\prompt_toolkit\terminal\win32_output.py", line 172, in get_win32_screen_buffer_info raise NoConsoleScreenBufferError prompt_toolkit.terminal.win32_output.NoConsoleScreenBufferError: No Windows console found. Are you running cmd.exe?

And from the default Python IDLE i get this eroor:

Traceback (most recent call last): File "C:/Users/Main/Desktop/adusgisdhui.py", line 4, in user_input = prompt('>') File "C:\Users\Main\AppData\Local\Programs\Python\Python35\lib\site-packages\prompt_toolkit\shortcuts.py", line 548, in prompt eventloop=eventloop) File "C:\Users\Main\AppData\Local\Programs\Python\Python35\lib\site-packages\prompt_toolkit\shortcuts.py", line 576, in run_application output=create_output(true_color=true_color)) File "C:\Users\Main\AppData\Local\Programs\Python\Python35\lib\site-packages\prompt_toolkit\shortcuts.py", line 118, in create_output return Win32Output(stdout) File "C:\Users\Main\AppData\Local\Programs\Python\Python35\lib\site-packages\prompt_toolkit\terminal\win32_output.py", line 80, in init info = self.get_win32_screen_buffer_info() File "C:\Users\Main\AppData\Local\Programs\Python\Python35\lib\site-packages\prompt_toolkit\terminal\win32_output.py", line 162, in get_win32_screen_buffer_info self.flush() File "C:\Users\Main\AppData\Local\Programs\Python\Python35\lib\site-packages\prompt_toolkit\terminal\win32_output.py", line 288, in flush self.stdout.flush() AttributeError: 'NoneType' object has no attribute 'flush'

Cvqe
  • 37
  • 4

2 Answers2

1

Here is a great article about building command line interfaces for you python programs CLI Python. One of the methods is to use the prompt_toolkit:

from prompt_toolkit import prompt

while 1:
    user_input = prompt('>')
    print(user_input)

This will then continually ask the user for input. It also has features such as command history and auto-suggestion.

Neill Herbst
  • 2,072
  • 1
  • 13
  • 23
0

Very basic code

while 1:
    userinput = input(">>")

if userinput == "help":
    print("You asked for help")
elif ...
creativename
  • 304
  • 2
  • 16