我正在準備一個非常簡單的腳本,我需要用戶輸入某些值。在某一點上,我想提供重用現有值的機會,或者如果用戶輸入是DELETE鍵(用戶按下DELETE,然後按Enter鍵),則刪除它,但我似乎無法找到滿意的答案(我覺得很奇怪......)這只是一個幫手腳本,所以我試圖避免更先進的東西,如PyHook和類似的東西。Python 2.7:檢測在raw_input上按下的DELETE鍵
這是我感興趣的塊:
if reusable_params:
for key in list(k for k in config_dict.keys() if k not in ["mac", "base_url", "command_name"]):
msg = "Enter new value for parameter {0}. Press ENTER to reuse the previous {1}. Press DELETE+ENTER to remove this key.".format(key, config_dict[key])
input = unicode(raw_input(msg).strip().decode(sys.stdin.encoding))
logging.debug("input: %s, len(input) %s" % (input, len(input))
按下Delete鍵+ Enter鍵返回一個Unicode尋找4個字符的字符串:
預先感謝您!
'raw_input'不能捕獲單個按鍵(除了顯然的Enter鍵)。如果你真的想保持腳本簡單,那麼最好的選擇就是放棄這個功能,而不是輸入任何輸入來顯示先前輸入的命令列表,然後再按回車鍵執行最後一個命令) –