Pythonのお勉強 Part6
■ このスレッドは過去ログ倉庫に格納されています
0205デフォルトの名無しさん
2005/05/02(月) 06:55:55使い方は、[ディレクトリ][空白][検索文字]でいいのかな。
>> os.startfile
Windows 以外の環境を考慮するなら wibbrowser.open
(winでは内部でstartfileが呼ばれるはず)
>> D:/pysearch/logo.jpg
アーカイブに含めて相対pathで指定する。
icon程度ならxpmを圧縮したデータをスクリプト内に埋め込む方法もある。
>> OnTextCtrl1KeyDown のイベント伝搬
searchBoxのstyleにwxTE_PROCESS_ENTER指定して、
wx.EVT_KEY_DOWN, OnTextCtrl1KeyDown の代わりに
wx.EVT_TEXT_ENTERイベントにOnSearchButtonButtonを登録。
>> pathの区切り文字
os.path.dirname, os.path.join, os.path.split を使う
>> searchが busy loop
スレッド内で処理するか、検索ループ内で適度に Sleep や Yield 系の関数呼ぶ。
具体的に言うと、search関数の中の最初のforブロック内にwx.YieldIfNeeded()
>> if str in name.lower():
strを正規表現にコンパイルしてmatchさせる。
>> for x in search(path,str):yield x
ディレクトリの深さに比例して遅くなるので、
再帰ないでyieldするより、callbackにした方が効率良い。
他には psyco モジュールを使ってpsyco.bind(search)とすると、早くなるかも。
ステータスバーにでも速度計って、比較してみてはどうでしょう。
■ このスレッドは過去ログ倉庫に格納されています