是否有一种python(3)本机等价物可以使用rlwrap调用脚本?

2024-09-29 23:20:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用input()向用户请求Python(3)CLI脚本中的命令

我希望他们能够按以重用旧命令。就这点而言,我希望他们能够做其他的基本行编辑了

我可以通过运行rlwrap myscript.py来获得这些特性,但我不希望运行包装器脚本。(是的,我可以设置别名,但如果可能的话,我希望将其封装在脚本中)

是否有支持此功能的库(例如提供input()的历史/编辑感知版本),或者是否需要从头开始


Tags: 用户py命令功能版本脚本编辑input
1条回答
网友
1楼 · 发布于 2024-09-29 23:20:25

我很感谢作为评论发布的答案。我尝试了@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选项,则历史记录将保留在内存中,并在程序退出时丢失

https://python-prompt-toolkit.readthedocs.io/en/master/index.html

相关问题 更多 >

    热门问题