1. ホーム
  2. python

Python入力で編集するためのデフォルト値を表示することは可能ですか?

2023-10-03 18:23:49

質問

Pythonでこのような入力を受け付けることは可能でしょうか?

フォルダ名:ダウンロード

しかし、ユーザーが "Download" と入力する代わりに、それはすでに初期値として存在しています。もしユーザーがそれを "Downloads" と編集したい場合、彼がしなければならないのは 's' を追加して Enter キーを押すことだけです。

通常の入力コマンドを使用した場合。

folder=input('Folder name: ')

は空白のプロンプトしか出てきません。

フォルダ名

私が見逃しているような簡単な方法はないでしょうか?

どのように解決するのですか?

標準ライブラリ関数 input()raw_input() には、この機能はありません。Linux を使っている場合は readline モジュールを使って、プリフィル値と高度な行編集を使用する入力関数を定義することができます。

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()