私が現在取り組んでいるアプリケーションでは、管理者が一種のコマンドラインにアクセスできる機能を追加したいと考えています。
これは代わりに、それは私が定義するテキストボックス内のキーワードを検索し、入力パラメータとそのリンクされた機能を実行し、実際のコマンドラインではありません。例えば
:pythonのtkinterコマンドラインスタイルのアプリケーション
get user data: erikthered
は...方法self.user_data('erikthered')
を実行するだろうが、私はeval
またはexec
のような厄介なものを使用せずに、エレガントにこのステップに取得する方法がわかりませんよ。
これらの機能は、理想的には、複数のパラメータのために働く必要があります。
この質問は主観的と考えられているが、私は本当に前にこのような何かをプログラムしていない、と私は他の人の洞察力を重視場合、私はお詫び申し上げます。
links = {'get users':'self.get_users(parameters)', 'get user data':'self.get_user_data(parameters)'}
terminal = self.terminal
line = str(terminal.index(INSERT).split('.')[0])
#get index of line
line = terminal.get(line+'.0', line+'.end')
splitline = line.split(':')
command = splitline[0]
parameters = splitline[1].split(',')
exec(links[command])
これは、私は、ユーザーが持っているテキストを取得する必要があるコードですので、同じようexec
を使用して
おかげでこれを行うには
UPDATE 一つの方法は、辞書を使用することです入力され、リターンプレスにバインドされます。しかし、私はexec
を使用しない方がよいでしょう。
私は完全なコードを見ることができますか? – stetim94
この質問はTkinterのか、実際のコマンドラインとは何かを持っていない、またはこれは、いくつかの作らコマンド言語を解析し、評価する方法について、純粋ですか? –
tkinterや実際のコマンドライン – EriktheRed