pythonのGUIツールには「wxPython」、 「Qt」、 「GTK」、「Tkinter」があるけど、今回は「Tkinter」を利用して作ってみようかと思う。
そんで、何を作るかというと、コマンドを入力して、「選択した範囲」のコマンドを実行し(※ここがみそ)、結果を表示するという物を作ってみる。
実用性があるかどうかは別にして、えっ!Pythonって100行くらいのコーディングでこのくらい出来るんだ!。と効率の良さを感じていただければいいかな。。
今回作るもの
コマンドを入力して「選択した範囲」の部分のコマンドを実行し、結果を表示する。
これ、何が嬉しいのかというと、パイプ処理の途中経過を見ながらコマンドの組み合わせを作れる!!
(別にコマンドライン上でやっても困らないけど、履歴として保存できたら便利かな?と思ったので作ってみた。)
例えば、「cat gui_python.py | grep import | awk ‘{print $2}’」のパイプの途中で何が起こっているかイメージ出来ない場合、下記画像にあるようにパイプ「|」の前までを選択しながら見ていく。
cat gui_python.pyまでを選択し実行する。
cat gui_python.pyの結果が表示される
次に、cat gui_python.py | grep importまでを選択し実行する。
cat gui_python.py | grep importの結果が表示される
次に、cat gui_python.py | grep import | awk ‘{print $2}’までを選択し実行する。
これが、最終的な結果。
上記の使い方以外にもコマンドなら受付けるので次のようにも使える。
test1の内容を表示
test2の内容を表示
test1とtest2の内容を表示
その他画面
実行方法:
「Tkinter」が入ってない場合はインストールする。
sudo apt-get install python-tk |
実行権限を与える
chmod guo+x command_exec.py |
実行:
./command_exec.py |
で画面が表示される。
※注意:tail -fとかtopとかその他もろもろ、一発で結果返さないヤツやってしまうと固まるのでプロセスをkillして!
以下がソースだよ!
Githubに置いてあるのでご自由にいじってください。
https://gist.github.com/1915440