Pythonでファイルの読み込みと書き込みをしてみましょう。まずは読み込みからです。
ファイルの読み込み
作業ディレクトリにread.txtというファイル名で、下記内容のテキストファイルを用意します。
Pythonでファイルを読み込みましょう!
次は読み込みを行うコードを記述します。open関数を使用しますが、第二引数には読み込み(read)を示すrを渡します。
f = open('read.txt', 'r') for row in f: print(row) f.close()
Pythonでファイルを読み込みましょう!
非常に簡単ですね。次は書き込みを行いましょう。
ファイルに書き込み
ファイルへの書き込みも同様にopen関数を使用します。第二引数へ書き込み(write)を示すwを渡します。
f = open('write.txt', 'w') f.write('Pythonでファイルに書き込みました!') f.close()
以下のようなファイルが出力されます。
Pythonでファイルに書き込みました!
文字コードの指定
文字コードを指定してファイルの読み書きを行うこともできます。下記例では最初に用意したread.txtファイルの内容を、それぞれEUCとUTF-8でファイル出力しています。
※Python 2系と3系で異なります。
Python 3系
fin_sjis = open('read.txt', 'r', encoding='shift_jis') fout_euc = open('euc-jp.txt', 'w', encoding='euc_jp') fout_utf = open('utf-8.txt', 'w', encoding='utf-8') for row in fin_sjis: fout_euc.write(row) fout_utf.write(row) fin_sjis.close() fout_euc.close() fout_utf.close()
Python 2系
# -*- coding: utf-8 -*- import codecs fin_sjis = codecs.open('read.txt', 'r', 'shift_jis') fout_euc = codecs.open('euc-jp.txt', 'w', 'euc_jp') fout_utf = codecs.open('utf-8.txt', 'w', 'utf-8') for row in fin_sjis: fout_euc.write(row) fout_utf.write(row) fin_sjis.close() fout_euc.close() fout_utf.close()