Python.use(better) #body: step01 -- s.write(...)
‖記事一覧‖ Python.use(better)《Python3.1》
s.write(...)
《著》森こねこ、小粒ちゃん+∞《監修》小泉ひよ子とタマゴ倶楽部
第0版♪2001/03/02 ● 第1版♪2003/05/25 ● 第2版♪2004/06/01 ● 第3版♪2009/02/28
課題を作成する過程を通して「ファイル操作」の理解を深めます。
※ Python1.5 で作成した例題を、Python3.1 で再構成しました。
事例:モジュールを起動する
■ 全項目を確認する
全ステップの「項目」を確認するには、関数 do を利用します。
$ python -i my_range.py >>> do() ... 1: step01 -- s.write(...)
■ 各項目を実行する
各ステップの「動作」を確認するには、関数 do に実引数を指定します。
>>> do(1) >>> # -------------------------------------------------- step01 >>> body('temp') <_io.TextIOWrapper name='temp' encoding='US-ASCII'> >>>
新たにファイル 'temp' を作成します。
事例:コードの解説
def body(file):
s = open(file,"w")
try:
for e in "ABC":
s.write("%s - %d\n"%(e,ord(e)))
finally:
s.close()
return s
《余録》テストケース
def ex_body0(local, n):
X = 'body({0!r})'.format(n)
print_(X, local)
■ #1: try/finally 文
try: for e in "ABC": s.write("%s - %d\n"%(e,ord(e))) finally: s.close()
- try ブロックに記述したコードを実行した後で、
- finally ブロックに記述したコードが(必ず)実行されます。
■ #2: メソッド write
for e in "ABC":
s.write("%s - %d\n"%(e,ord(e)))
メソッド write によって、引数に指定した文字列をファイルに書き込みます。
- メソッド flush/close を呼び出すまで(バッファリングされ)その処理は実行されません。
■ #3: メソッド close
finally:
s.close()
ファイル s(ストリーム)を閉じて、リソースを解放します。
- 閉じたファイルは、読み書きできません。
》こちらに移動中です《
↑TOP