用Python填充输入内容

问题描述 投票:1回答:1

我正在尝试在python脚本中设置一个预先填充的输入。本质上,我想做的是创建一个输入,如果调用该输入,则会在脚本的前面设置一个变量(用户名和IP地址)来预先填充该输入。我发现以下帖子(Is it possible to prefill a input() in Python 3's Command Line Interface?)有建议,但由于某种原因,当我运行它时,没有任何反应。

import readline

def input_with_prefill(prompt, text):
    def hook():
        readline.insert_text(text)
        readline.redisplay()
    readline.set_pre_input_hook(hook)
    result = input(prompt)
    readline.set_pre_input_hook()
    return result

我传递给提示变量的任何东西都可以,但是文本变量似乎什么也没发生,输入保持空白。如果我在终端中运行脚本,则可以看到文本变量,但是该变量位于提示之前,并且不可编辑,这违背了我要执行的操作的目的。如果登录失败,则允许用户编辑他们输入的用户名或IP。

我正在Manjaro Linux上使用Python 3.8。任何帮助将非常感激。

python archlinux manjaro
1个回答
0
投票

您可能想使用'yield'函数:

def my_readline(preload_lines):#要返回的行数组def my_readline_yielder():如果preload_lines:行= preload_lines [0]

© www.soinside.com 2019 - 2024. All rights reserved.