2024-09-29 23:20:25 发布
网友
我使用input()向用户请求Python(3)CLI脚本中的命令
input()
我希望他们能够按↑以重用旧命令。就这点而言,我希望他们能够做其他的基本行编辑了
我可以通过运行rlwrap myscript.py来获得这些特性,但我不希望运行包装器脚本。(是的,我可以设置别名,但如果可能的话,我希望将其封装在脚本中)
rlwrap myscript.py
是否有支持此功能的库(例如提供input()的历史/编辑感知版本),或者是否需要从头开始
我很感谢作为评论发布的答案。我尝试了@furas的建议,似乎效果不错。这里有一个片段可以帮助其他通过搜索来到这里的人
from prompt_toolkit import prompt from prompt_toolkit import PromptSession from prompt_toolkit.history import FileHistory from os.path import expanduser myPromptSession = PromptSession(history = FileHistory(expanduser('~/.myhistory'))) while True: userInput = myPromptSession.prompt('Enter command') print("{}, interesting.".format(userInput))
prompt是主要的执行函数,但除非使用PromptSession,否则不会获得任何历史记录。如果不使用history选项,则历史记录将保留在内存中,并在程序退出时丢失
prompt
PromptSession
history
https://python-prompt-toolkit.readthedocs.io/en/master/index.html
我很感谢作为评论发布的答案。我尝试了@furas的建议,似乎效果不错。这里有一个片段可以帮助其他通过搜索来到这里的人
prompt
是主要的执行函数,但除非使用PromptSession
,否则不会获得任何历史记录。如果不使用history
选项,则历史记录将保留在内存中,并在程序退出时丢失https://python-prompt-toolkit.readthedocs.io/en/master/index.html
相关问题 更多 >
编程相关推荐