2012年11月12日月曜日

開発環境

『初めてのPython 第3版』(Mark Lutz 著、夏目 大 訳、オライリー・ジャパン、2009年、ISBN978-4-87311-393-7) のIII部(ステートメント)10章(Pythonの代入ステートメント、式ステートメント、print()関数(python3.xから))の練習問題4を解いてみる。

その他参考書籍

4.

sysモジュールのインポートで出力先をファイルに変更するか、python2.xの場合、>>で出力先をリダイレクトすればいい。後者の方が簡単に標準出力ストリームに戻ることが出来る分、その意味では利便性が高い。python3kでは、printはビルトイン関数で、その引数にファイルを指定すればいい。(ファイルを指定しない場合のデフォルトはsys.stdoutになっている。)

コード(TextWrangler)

sample.py

#!/usr/bin/env python3.3
#-*- coding: utf-8 -*-

import sys
sys.stdout = open('tmp.txt','w')
print("Hello, Python!")

入出力結果(Terminal)

$ ./sample.py
$ cat tmp.txt
Hello, Python!
$

コード(TextWrangler)

sample.py

#!/usr/bin/env python3.3
#-*- coding: utf-8 -*-

tmp = open('tmp1.txt','w')
print("Hello, Python!", file=tmp)
# こちらはsys.stdoutに出力される
print("Hello, sys.stdout!")

入出力結果(Terminal)

$ ./sample.py
Hello, sys.stdout!
$ cat tmp1.txt
Hello, Python!
$

0 コメント:

コメントを投稿