首頁  >  文章  >  後端開發  >  如何在 Python 中為具有編輯功能的使用者輸入提供預設值?

如何在 Python 中為具有編輯功能的使用者輸入提供預設值?

DDD
DDD原創
2024-10-27 05:33:03794瀏覽

How to Provide Default Values for User Input with Editing Capabilities in Python?

在Python 中使用預設值編輯輸入

使用input() 函數接受使用者輸入時,通常需要提供預設值作為佔位元符或起點。在這種情況下,使用者希望接受預設值「下載」的資料夾名稱輸入,但允許使用者透過簡單地新增或刪除字元來輕鬆編輯它。

標準 input() 和 raw_input( ) 函式不支援這種開箱即用的行為。然而,在 Linux 系統上,readline 模組提供了一個解決方案。

使用 Readline

readline 模組提供進階行編輯功能。透過定義利用 readline 的自訂輸入函數,您可以實現所需的行為。這是一個範例:

<code class="python">import readline

def rlinput(prompt, prefill=''):
   readline.set_startup_hook(lambda: readline.insert_text(prefill))
   try:
      return input(prompt)  # or raw_input in Python 2
   finally:
      readline.set_startup_hook()</code>

在此函數中:

  • rlinput(prompt, prefill) 接受提示和可選的預填充值。
  • readline.set_startup_hook設定一個啟動掛鉤,將預填值插入到提示中。
  • input 或 raw_input 用於接受使用者輸入,允許編輯預先填入。
  • finally 區塊將啟動掛鉤重設為其預設行為。

用法

要使用此函數,只需將標準input() 呼叫替換為rlinput() 函數即可:

<code class="python">folder = rlinput('Folder name: ', 'Download')</code>

這將顯示提示“資料夾名稱:下載”,並預先填入文字“下載”。如果使用者按 Enter 鍵而不進行任何更改,則預設值將儲存為「下載」。如果使用者想要編輯預設值,他們只需在預填文字中鍵入或新增字元即可。

以上是如何在 Python 中為具有編輯功能的使用者輸入提供預設值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn