簡體   English   中英

如何在 python 中編輯輸入的文本

[英]How can I edit an inputed text in 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()

readline是允許用戶編輯終端輸入的系統名稱(默認情況下在 micro-Emacs 環境中)。 您可以使用readline.insert_text提供要編輯的文本。 一種支持的方法是在調用input之前安排通過set_pre_input_hook調用它。

所以,正如阿納托利所說,我要學習詛咒,因為我需要詛咒可以做的其他事情。 感謝所有回復的人。 我還將使用 read line.insert_text

你可以這樣做:

import os
os.system('clear')

如果您使用的是 windows 使用os.system('cls') :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM