python - 如何在python中编辑输入的文本
问题描述
我正在用 python 构建一个命令行应用程序,我需要能够打印一些东西,然后用户对其进行编辑并将其返回给我
我知道 Input() 不适合我的情况,因为用户无法修改您给他的文本。有没有办法做到这一点?
解决方案
我认为做到这一点的一种方法是使用键盘输入侦听器- 这样您就可以准确地确定用户在做什么(按下所有字符以及退格键)并打印编辑后的文本。
你可以看看这个答案,它给出了如何在 linux/windows 中实现这一点的示例:Python 中的 Key Listeners?.
如果您正在寻找用户界面(不是正确的命令行),您可以使用 Tkinter 显示一个文本框,用户可以在其中输入数据。
一个例子(基于https://effbot.org/tkinterbook/entry.htm):
from Tkinter import *
master = Tk()
e = Entry(master, width=500)
e.pack()
e.focus_set()
def callback():
print e.get()
b = Button(master, text="get", width=50, command=callback)
b.pack()
mainloop()
推荐阅读
- arrays - Laravel,VueJS - 在拖放时保持 2 个数组同步
- date - 雪花中的 VARCHAR 到 DATE
- java - 在 Spring Boot Java 中将 GMT 格式字符串转换为日期时间
- python - 在熊猫 python 中,我如何在 DataFrame 中“黑名单”或“白名单”数字
- windows - 配置 git 以支持使用不同操作系统的程序员
- flutter - 向 Flutter 小部件添加一个空的 const 构造函数
- android - 如何在最新的 Android 上检测当前正在运行的应用程序(或前台应用程序)的统计信息?
- java - JLabel 不显示
- swift - SwiftUI - 如何使用动态密钥访问 API 响应数据?
- java - Xpath 不返回此类元素异常