« 休日練習 | トップページ | Python 時刻セットアプリ PySetClock更新 と誤差の話 »

2009年5月18日 (月)

Python ブラウザとエディタの連携、 パラメータ引き渡し編

2009-05-18(月)晴れ

「パラメータ引き渡しとスクリプトのままでの実行について」

 先日書いた、簡易テキストエディタ「PyMyEditor」は、自身からファイルを開く機能はありません。原則として、その前に書いたファイルブラウザ「Filebrowser」の「開く」から拡張子連動でテキスト関連ファイルを開いて閲覧、編集します。

 現在、拡張子連動に使えるのは(.pyスクリプトのまま使う必要があるので(注1))、以前から使っている「py60tex」と、今回の「PyMyEditor」の2つです(2つになりました、と言えるのが嬉しい(笑))。「Filebrowser」では、それらを切り替えて使用できます。

  注1:ファイル名をパラメータとして渡すためには、今のところこれしかないためです。

 すなわち、ここで問題になるのが、パラメータ(ファイル名)の引き渡しです。両方でアクセスできるものを介する必要があります。
 案として、下記を考えました。

 (1)変数 sys.argv に入れて渡す。
 (2)C:\@@pmed_tmp.dat などという、勝手なテンポラリファイルに書き込んで渡す。
 (3)OSのクリップボードに書き込んで渡す。

 (1)のsys.argvはpythonインタプリタが管理している変数(と書いてあった)のため、SIS化してインストールした場合は読めませんでした。従って、.pyスクリプトのまま使うことになります。

 (2)では、エディタ側も改変してからSIS化すれば、SISインストールでも大丈夫ですが、py60texも改変しないと対応できません。それに、何となくスマートではないように思います。

 (3)は、(2)よりはスマートですが、クリップボードへの書き込みが難しいです。下記(注2)サイトのスクリプトで、英字は書き込めますが、日本語が入ると駄目です。代案としては(2)との折衷案で、メモリ D:\ のどこかにテンポラリファイルを書き込むという手もあります.
まあ苦肉の策ですね。それほどスマートではないのと、(2)と同じく互換性が問題です。

  注2:http://discussion.forum.nokia.com/forum/showthread.php?t=117567
     この情報はレオナパパさんに教えていただいたものです。とはいえ、日本語を
     使うにはハードルが高そうです。

 ということで、当面はファイルブラウザもエディターも、pyスクリプトのまま使用することを考えています。
 

「ランチャーの利用」

 さて、そうするとブラウザも、Pythonを立ち上げて、ScriptShellから起動、、と言うのも面倒です。そこで、利用するのがランチャーです。一番簡単なのは「Filebrowser」をすぐ立ち上げるためのランチャースクリプトとか、エディターを直ぐ立ち上げるランチャースクリプトとかを作って、SIS化すれば良いわけです。が、それだけでは何なので、、と作ったのが、以前書いた「PyMyShell」です。これのSIS版をインストールして置いて、ここから「Filebrowser」を起動してファイルをブラウズし、必要なものを拡張子連動でエディタで開く、、という使い方です。もちろん、エディターも登録しています。

 と言うことで、「PyMyEditor」も作って、全部自分のスクリプトで完結できるようになりました。

現在の、自分の環境は以下の通りです。

PyMyShell   ---- ふぶき       fubuki_m.py
(sis版)     -- ふぶき変換   fubuki2htm.py
         -- 画像リサイズ PyResizeJpgS.py
         -- ファイル転送 PyMyFTP.py
         -- 電話帳       jContactsM.py
         -- ノートNdb    PyNoteNdb.py
         -- ノートPad    PyNotePad.py
         -- 買い物リスト PyShopper.py
         -- Filebrowser  Filebrowser.py ----エディタ PyMyEditor.py / py60tex.py
         -- エディタ     PyMyEditor.py

 後は、これらをフルに活用するしかない香港へ行く手だてを考えるだけです(笑)。なんか、卵と鶏の関係になってますが、、、(汗)。

 

|

« 休日練習 | トップページ | Python 時刻セットアプリ PySetClock更新 と誤差の話 »

Python」カテゴリの記事

アプリケーション」カテゴリの記事

携帯電話」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




« 休日練習 | トップページ | Python 時刻セットアプリ PySetClock更新 と誤差の話 »