第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python prompt_toolkit:當(dāng)用戶按下回車鍵時選擇最佳模糊匹配

Python prompt_toolkit:當(dāng)用戶按下回車鍵時選擇最佳模糊匹配

GCT1015 2022-10-06 16:12:55
我正在通過 CLI使用FuzzyCompleterfrom for 。prompt_toolkit我另外傳遞complete_while_typing=True給prompt函數(shù)。如果我提供包含例如“測試”的列表并且用戶鍵入“tst”,它將顯示為第一個建議。但是如果用戶隨后按下回車,prompt函數(shù)的結(jié)果將是“tst”,而不是“Testing”。如果用戶按 Tab 然后輸入,它當(dāng)然可以工作。我希望該prompt函數(shù)僅返回完成列表中的值,而不是用戶鍵入以快速匹配的“tst”之類的無意義的字符串。輸入前的制表符不應(yīng)該是必需的。我怎樣才能做到這一點?
查看完整描述

1 回答

?
精慕HU

TA貢獻(xiàn)1845條經(jīng)驗 獲得超8個贊

您可以創(chuàng)建自定義鍵綁定以在用戶按 Enter 時執(zhí)行完成。例如:


from prompt_toolkit import prompt

from prompt_toolkit.completion import FuzzyWordCompleter

from prompt_toolkit.key_binding import KeyBindings

from prompt_toolkit.filters import (

    has_completions,

    completion_is_selected,

)


# Override enter key to automatically perform first completion.

key_bindings = KeyBindings()

filter = has_completions & ~completion_is_selected

@key_bindings.add("enter", filter=filter)

def _(event):

    event.current_buffer.go_to_completion(0)

    event.current_buffer.validate_and_handle()


completer = FuzzyWordCompleter([

    "Using", "Testing", "Building", "Designing", "Documenting"

])

result = prompt("$ ",

    completer=completer,

    complete_while_typing=True,

    key_bindings=key_bindings,

)

if result:

    print(result)

將被覆蓋的鍵綁定當(dāng)前位于shortcuts/prompt.py和中key_binding/bindings/basic.py。


如果您的提示應(yīng)用程序更復(fù)雜(例如多行輸入或多個緩沖區(qū)),那么您可能需要額外的邏輯來處理這些情況。 prompt_toolkit.filters.is_multiline可能有用。


查看完整回答
反對 回復(fù) 2022-10-06
  • 1 回答
  • 0 關(guān)注
  • 194 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號