Changes between Version 92 and Version 93 of Pythonの短いソースコード集


Ignore:
Timestamp:
09/20/06 01:40:49 (13 years ago)
Author:
nakiki
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Pythonの短いソースコード集

    v92 v93  
    8585 * Pythonでは基底クラスのコンストラクタは自動的には呼び出されない。呼び出すのを忘れないように。 
    8686 
    87 == キュー == 
    88 {{{ 
    89 #!python 
    90 import Queue 
    91  
    92 q = Queue.Queue() 
    93  
    94 for n in range(5): 
    95   q.put('message '+ str(n)) 
    96  
    97 while not q.empty(): 
    98   print q.get() 
    99 }}} 
    100  * スレッド動作も考慮しているので便利かな。 
    10187 
    10288 
    103  
    104  
    105 == gzipファイルの展開 == 
    106 {{{ 
    107 #!python 
    108 import tarfile 
    109  
    110 tf = tarfile.TarFile.gzopen('test.dat.tar.gz', mode = 'r') 
    111 print tf.getmembers() 
    112 for l in tf.getmembers(): 
    113   tf.extract(l) 
    114 }}} 
    115  
    116 == 簡単なデータベース == 
    117 {{{ 
    118 #!python 
    119 import dbm 
    120  
    121 db = dbm.open('test', 'rw') 
    122  
    123 if not db.has_key('key1'): 
    124   db['key1'] = 'record1' 
    125   print 'add record1' 
    126 else: 
    127   print db['key1'] 
    128 }}} 
    129  * 複数プロセスでアクセスする場合はロックがいるのだろうか? 
    130  
    131 == 簡単なデータベース == 
    132 {{{ 
    133 #!python 
    134 import shelve 
    135  
    136 db = shelve.open('test.db') 
    137  
    138 if not db.has_key('key1'): 
    139   db['key1'] = ('v1','v2','v3') 
    140   print 'add new record' 
    141 else: 
    142   print 'exists key1 record ', db['key1'] 
    143 }}} 
    144  * shelveを使うとpythonのタプル、リスト、辞書が格納できるのでとても便利。 
    145  
    146 == CSVファイルの読み込み == 
    147 {{{ 
    148 #!python 
    149 import _csv 
    150  
    151 s = _csv.reader(file('test.txt', 'r')) 
    152 for ss in s: 
    153   print ss 
    154 }}} 
    155  * トークン解析をしなくて済む道具あることはすばらしい。 
    156  * _csvにしないと動かないのはなぜ?