构建Python命令提示符接口

时间:2017-05-12 18:06:04

标签: python python-3.x

有没有办法构建一个简单的Python命令提示符接口。它只需要输入文本和输出内容。

最后,接口应该看起来像这样:

sample

从Pycharm 2017我得到这些错误。

  

追踪(最近一次通话):     文件“C:/ Users / Main / Desktop / Py Sandbox / Keylogger / test.py”,第4行,in       user_input = prompt('>')     文件“C:\ Users \ Main \ AppData \ Local \ Programs \ Python \ Python35 \ lib \ site-packages \ prompt_toolkit \ shortcuts.py”,第548行,在提示符下       事件循环=事件循环)     在run_application中的文件“C:\ Users \ Main \ AppData \ Local \ Programs \ Python \ Python35 \ lib \ site-packages \ prompt_toolkit \ shortcuts.py”,第576行       输出= create_output(true_color = true_color))     在create_output中的文件“C:\ Users \ Main \ AppData \ Local \ Programs \ Python \ Python35 \ lib \ site-packages \ prompt_toolkit \ shortcuts.py”,第118行       返回Win32Output(stdout)     文件“C:\ Users \ Main \ AppData \ Local \ Programs \ Python \ Python35 \ lib \ site-packages \ prompt_toolkit \ terminal \ win32_output.py”,第80行, init       info = self.get_win32_screen_buffer_info()     在get_win32_screen_buffer_info中输入文件“C:\ Users \ Main \ AppData \ Local \ Programs \ Python \ Python35 \ lib \ site-packages \ prompt_toolkit \ terminal \ win32_output.py”,第172行       引发NoConsoleScreenBufferError   prompt_toolkit.terminal.win32_output.NoConsoleScreenBufferError:找不到Windows控制台。你在运行cmd.exe吗?

从默认的Python IDLE中我得到了这个eroor:

  

Traceback(最近一次调用最后一次):文件   “C:/Users/Main/Desktop/adusgisdhui.py”,第4行,in       user_input = prompt('>')文件“C:\ Users \ Main \ AppData \ Local \ Programs \ Python \ Python35 \ lib \ site-packages \ prompt_toolkit \ shortcuts.py”,   第548行,提示       eventloop = eventloop)文件“C:\ Users \ Main \ AppData \ Local \ Programs \ Python \ Python35 \ lib \ site-packages \ prompt_toolkit \ shortcuts.py”,   第576行,在run_application中       output = create_output(true_color = true_color))文件“C:\ Users \ Main \ AppData \ Local \ Programs \ Python \ Python35 \ lib \ site-packages \ prompt_toolkit \ shortcuts.py”,   第118行,在create_output中       返回Win32Output(stdout)文件“C:\ Users \ Main \ AppData \ Local \ Programs \ Python \ Python35 \ lib \ site-packages \ prompt_toolkit \ terminal \ win32_output.py”,   第80行,在 init 中       info = self.get_win32_screen_buffer_info()文件“C:\ Users \ Main \ AppData \ Local \ Programs \ Python \ Python35 \ lib \ site-packages \ prompt_toolkit \ terminal \ win32_output.py”,   第162行,在get_win32_screen_buffer_info中       self.flush()文件“C:\ Users \ Main \ AppData \ Local \ Programs \ Python \ Python35 \ lib \ site-packages \ prompt_toolkit \ terminal \ win32_output.py”,   第288行,同花顺       self.stdout.flush()AttributeError:'NoneType'对象没有属性'flush'

2 个答案:

答案 0 :(得分:0)

非常基本的代码

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

if userinput == "help":
    print("You asked for help")
elif ...

答案 1 :(得分:0)

这是一篇关于为python程序CLI Python构建命令行界面的精彩文章。其中一种方法是使用prompt_toolkit

from prompt_toolkit import prompt

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

然后这将不断询问用户输入。它还具有命令历史记录和自动建议等功能。