我正在Ubuntu 11.10(Linux)上使用Python 3.2.我的一段新代码如下所示:

text = input("TEXT=")

有没有可能在提示后获得一些预定义的字符串,以便在需要时进行调整?应该是这样的:

python3 file
TEXT=thepredefinedtextishere

现在我按了三次Backspace

TEXT=thepredefinedtextish

现在我按下回车键,变量text应该是thepredefinedtextish

推荐答案

如果你的Python解释器链接到GNU readline,input()会使用它.在这种情况下,以下各项应起作用:

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

Python-3.x相关问答推荐

使用Python请求从特定URL下载图像时出错

模型中的__str__方法在Django管理面板中生成大量重复查询

如果行在所有上级索引中都为0,如何删除下级索引行?

是什么原因导致Pandas=2.1.4和Pandas=1.4.2之间Pandas DataFrame中从Float64到int32的连续列转换方式不同

像计数不显示在html和想知道如果我的模型设置正确

PANDAS中当前数据帧的匹配与更新

CDKTF ec2 具有特定私有 IP 地址的娱乐

不同的焦点顺序和堆叠顺序 tkinter

通过 Pandas 通过用户定义函数重命名数据框列

Django - ValueError:无法将字符串转换为浮点数:''

转换Pandas 数据框 - 添加行

为什么 setattr 在绑定方法上失败

python中是否有大于但小于函数?

如何从另一个目录导入 python 包?

PySpark python 问题:Py4JJavaError: An error occurred while calling o48.showString

为什么 2to3 将 mydict.keys() 更改为 list(mydict.keys())?

登录csv文件的正确方法是什么?

如何使用 Python 订阅 Websocket API 通道?

python判断一个方法是否被调用而不模拟它

python中的绝对导入是什么?