タグ

ブックマーク / sh1.2-d.jp (8)

  • sh1.2 pyblosxom : pythonのthread/threadingモジュールを見てみた

    Blog: threadの動作の違うよ。 - Humming Via Kitchen を見てちょっと気になった のでPythonのコードを見てみた。(via 常山日記 ) threadモジュールを使ったサンプルは、簡単に書くとこんな感じのコード。 import thread def run(): # do something def main(): thread.start_new_thread(run, ()) pthread_join()に相当する関数を呼んでないからmain()関数が終了しちゃったら実行途中 のthreadも終了させられちゃってるんじゃない?と思ってthreadモジュールのマニュアル を見ると、なんとjoin()に相当する関数ないんだね。 どうやってスレッドの終了時の同期をとるんだ?そもそもPythonのソースコードを検索し てもpthread_join()はどこでも

  • sh1.2 pyblosxom : pythonでデバッグ

    sh1.2 pyblosxom : pythonでのデバッグメッセージ の続き。 __LINE__やら__func__やらがなくても下記の方法を使えばデバッグできる。 tracebackモジュールを使う 下記のコードをデバッグしたい箇所に埋めこんでおけばスタックを表示してくれる。: import traceback; traceback.print_stack() 実際にはこんな感じになる。: import traceback def foo(l, n, str): traceback.print_stack() foo([1,2,3], 10, "hoge") で、これを実行すると、: % python foo.py File "foo.py", line 6, in <module> foo([1,2,3], 10, "hoge") File "foo.py", line 4, in

  • sh1.2 pyblosxom : さくらでPythonモジュール設定

    ぼちぼちとさくらのスタンダードプランのサーバ設定をしていきます。 まずは、 「さくらのレンタルサーバ」で Python 外部モジュールを使う を 参考にpython moduleを「~/local/lib/python/site-packages」にインストールするよ う設定する。 PYTHONPATH .zshrcにPYTHONPATHを設定。 export PYTHONPATH=/home/xxx/local/lib/python 設定後に、下記が現れれば無事に反映されてる。 $python >>> import sys >>> sys.path ['', '/home/xxx/local/lib/python', .....] まずは、easy_installをインストール。 $ wget http://cheeseshop.python.org/packages/source/s/

    hamasta
    hamasta 2007/01/19
  • sh1.2 pyblosxom : Djangoを触ってみる

    最近話題のDjangoをちょっと触ってみることにした。 まずは手始めに、 IBM Python Webフレームワーク、第1回: DjangoPythonを使ってWeb開発 - Japan を写経してみようと、昨日の晩1:30頃から始めたんだけど結構わかりにくくて何箇所か つまづいた。結局admin画面表示して項目追加して表示するところまでやって、job詳細 がでないまま寝て、起きてまた再挑戦しました。その時のメモを書いておきます。 環境は、WindowsXP+cygwin(python2.4.3)です。 モデルを作成する SQLiteとpysqliteのインストールは、 SQLite 関連 を参考にさせて頂きました。 あ、nakagamiさんのページだったのですね。 SQLite: v3.3.7 pysqlite: 2.3.2 一点、SQLiteをソースからビルドするときに、make i

  • sh1.2 pyblosxom : メモ化 (Memoize)

    404 Blog Not Found:たらいを回すならHaskell はこべにっき# - Pythonでもわりとたらい回せそう? このメモ化(Memoize)の話、そういえば去年の夏くらいにはやったなー。 当時はもひとつ理解できんかったけど。 taks = {} def tak (x, y, z): global taks if x <= y: return y else: if not taks.has_key((x,y,z)): taks[(x,y,z)] = tak(tak(x - 1, y, z), tak(y - 1, z, x), tak(z - 1, x, y)) return taks[(x,y,z) を見てやっとどういう概念か理解できた。まぁ実現方法は色々あるみたいだけど。 で、一言で言うと、: 同じ引数を渡した場合には必ず同じ返値を返す関数(純粋関数)の場合、毎回時間の

  • sh1.2 pyblosxom : 関数に可変引数を渡す

    関数に可変引数を渡してやりたい場合、自分で関数を作るなら、多分このようにすると思います。 def dummy_func1(*arg): print arg lt1 = ["1","2","3","4","5"] dummy_func1(lt1) 2006.01.30追記 上記の場合、単にリスト引数が一つ渡せるだけで複数の引数を渡したことには ならないですね。上記コードを実行するとこのようになりました。 少なくともエラーにはなりませんが。 => (["1","2","3","4","5"],) 当は自分で書くなら、可変引数じゃなくて単にリストで定義すると思います。 def dummy_func0(arg): print arg なので、dummy_func1のようにした場合にもやはりどのように複数の引数を 渡してやるかという話があるわけですね。 じゃあ、このような定義になっていた場合にどう

  • sh1.2 pyblosxom : IronPython MLより。

    pyentrynavi.py by Tiago Faria pyentrynavi.py by Tiago Faria crossreview by shunuhs crossreview by 河野 今さらbatファイル2 from sh1.2 pyblosxom pyentrynavi.py by shunuhs pyentrynavi.py by Bill Powell pyentrynavi.py by Bill Powell [Python]巡回 from 常山日記 CGIでDjangoを動かす by shunuhs

  • sh1.2 pyblosxom : ファイルへの書き込み

    pyentrynavi.py by Tiago Faria pyentrynavi.py by Tiago Faria crossreview by shunuhs crossreview by 河野 今さらbatファイル2 from sh1.2 pyblosxom pyentrynavi.py by shunuhs pyentrynavi.py by Bill Powell pyentrynavi.py by Bill Powell [Python]巡回 from 常山日記 CGIでDjangoを動かす by shunuhs

  • 1