目次

Python の with 文

ポータル python

python_vs_ruby から移動。

Ruby の File.open + コードブロックは Python の with 文に対応する。Context Manager と呼ばれる。

下記はファイルに書き込みを行う処理。

Python 2.6 から from _ _ future _ _ import with_statement は不要に。

# Python 2.5.1 (cygwin)
from __future__ import with_statement
 
def calc(out_filename, gender = ''):
  # omitted
  with open(out_filename, "w") as file:
    print "S,T1,T2,WWL-T1,WWL-T2"
    file.write("S,T1,T2,WWL-T1,WWL-T2\n")
    for k in sorted(subjects.iterkeys()):
      print k + subjects[k].to_s()
      file.write( k + subjects[k].to_s() )
      file.write("\n")