有没有办法构建一个简单的Python命令提示符接口。它只需要输入文本和输出内容。
最后,接口应该看起来像这样:
从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'
答案 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)
然后这将不断询问用户输入。它还具有命令历史记录和自动建议等功能。