Pythonでは、ストリームデータをファイルに書き込むためのいくつかの方法があります。ここでは、その一部を紹介します。
テキストストリームの書き込み
Pythonのopen
関数を使用してテキストストリームを作成することができます。エンコーディングを指定することも可能です。
f = open("myfile.txt", "r", encoding="utf-8")
また、メモリ内のテキストストリームもStringIO
オブジェクトとして利用できます。
import io
f = io.StringIO("some initial text data")
バイナリストリームの書き込み
バイナリストリームの作成は、open
関数に'b'
をモード文字列として含めることで可能です。
f = open("myfile.jpg", "rb")
メモリ内のバイナリストリームもBytesIO
オブジェクトとして利用できます。
import io
f = io.BytesIO(b"some initial binary data: \\x00\\x01")
ストリームデータのファイルへの書き込み
以下のコードは、ファイルから行を読み込み、それぞれの行を別のテキストファイルに書き込む例です。
with open('read_file', 'r') as reader:
with open('output_file', 'w') as writer:
gen = (line.split('|') for line in reader)
for row in gen:
writer.write(row)
このように、Pythonでは様々な方法でストリームデータをファイルに書き込むことができます。適切な方法を選択することで、効率的なコードを書くことが可能です。