Python でかなり定期的に入力するコマンドのキーストロークを数回だけ節約しようとしています。
私のpython startup scriptでは、 import に似た load という関数を定義していますが、いくつかの機能を追加しています。単一の文字列を取ります:
def load(s):
# Do some stuff
return something
この関数を呼び出すには、入力する必要があります
>>> load('something')
単純に次のように入力したいと思います。
>>> load something
私はreadlineをサポートする Python を実行しているので、ある程度のプログラミングが可能であることは知っていますが、それを使用してこの種のことが可能かどうかはわかりません。
InteractivConsole
次のように、を使用して起動ファイルにインスタンスを作成することで、これを回避しようとしました。
import code, re, traceback
class LoadingInteractiveConsole(code.InteractiveConsole):
def raw_input(self, prompt = ""):
s = raw_input(prompt)
match = re.match('^load\s+(.+)', s)
if match:
module = match.group(1)
try:
load(module)
print "Loaded " + module
except ImportError:
traceback.print_exc()
return ''
else:
return s
console = LoadingInteractiveConsole()
console.interact("")
これは、Python インタープリターを終了するために Ctrl-D を 2 回押す必要があるという警告に対応しています。
カスタム C プログラムを作成してインタープリターを埋め込むことなく、これを行う方法はありますか?
編集
チャンネル外で、これをスタートアップ ファイルの最後に追加することを提案しました。
import sys
sys.exit()
それは十分に機能しますが、私はまだ代替ソリューションに興味があります.