[解決済み] Pythonのコマンドラインプログラムで任意のものをオートコンプリートさせる方法 NOT interpreter
2022-09-26 04:50:48
質問
私は、Pythonインタープリタ(unix上)でPythonオブジェクトのオートコンプリートを設定する方法を知っています。
- Google は、これを行う方法についての説明のために多くのヒットを示します。
- 残念ながら、参考文献が多すぎて、少し違う私のやるべきことを見つけるのは困難です。
私は、pythonで書かれたコマンドライン・プログラムにおいて、任意の項目のタブ/自動補完を有効にする方法を知る必要があります。
私の特定のユースケースは、電子メールを送信する必要があるコマンドラインのpythonプログラムです。 私は、ユーザーがその一部を入力する (そしてオプションで TAB キーを押す) と、電子メールアドレス (私はディスク上にアドレスを持っている) を自動補完することができるようにしたいです。
私は、それがWindowsまたはMac上で動作する必要はなく、Linuxだけです。
どのように解決するのですか?
Pythonの
readline
のバインディングを使います。 例えば
import readline
def completer(text, state):
options = [i for i in commands if i.startswith(text)]
if state < len(options):
return options[state]
else:
return None
readline.parse_and_bind("tab: complete")
readline.set_completer(completer)
公式の モジュールのドキュメント はあまり詳しくありません。 readline ドキュメント をご覧ください。
関連
-
[解決済み] プログラムの実行やシステムコマンドの呼び出しはどのように行うのですか?
-
[解決済み] MySQLでコマンドラインを使用してSQLファイルをインポートするにはどうすればよいですか?
-
[解決済み] Bashでコマンドライン引数を解析するには?
-
[解決済み] MySQLでコマンドラインを使用してユーザーアカウントのリストを取得するにはどうすればよいですか?
-
[解決済み] Pythonで改行(行継続)をするにはどうしたらいいですか?
-
[解決済み] コマンドラインから .bash_profile を再読み込みする方法は?
-
[解決済み] コマンドライン引数の読み方・処理方法は?
-
[解決済み] コマンドラインからXMLをきれいに印刷する方法は?
-
[解決済み】rakeタスクにコマンドライン引数を渡す方法
-
[解決済み] SQLAlchemy: セッションの作成と再利用
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 前月の日時オブジェクトを返す
-
[解決済み] Jupyterノートブックでenv変数を設定する方法
-
[解決済み] Pythonのインスタンス変数とクラス変数
-
[解決済み] サブフォルダからのインポートモジュール
-
[解決済み] あるオブジェクトが数であるかどうかを確認する、最もパイソン的な方法は何でしょうか?
-
[解決済み] Cythonのコードを含むPythonパッケージはどのように構成すればよいのでしょうか?
-
[解決済み] Celeryタスクのユニットテストはどのように行うのですか?
-
[解決済み] Python Empty Generator 関数
-
[解決済み] Pythonでランダムなファイル名を生成する最良の方法
-
[解決済み] djangoのQueryDictをPythonのDictに変更するには?