Pythonでウェブサイトからデータを入手する(6)

python Python

データを取得した後、ファイルに書き込む必要があります。
ここでは、ファイルへの書き込み方法を見てみます。
とってもわかりやすいですよー。

ファイルに書き込む

with・・・asと組み込み関数open()を使います。
ここではファイルへの書き込みを実行しますが、読み込みだけも実行することができます。

with open('ファイル名.txt', mode='a', encoding='utf-8') as f:
    f.write(‘文字を書き込みます\n’)

1行目:
「with open(引数) as f:」でファイルを開き、書き込む準備を行います。「f」は変数なので、何でもよいです。
ネットや参考書では「f」と表示されていることが多いため、このように表示しています。説明するまでもないのかもですけど、ファイル(file)を取扱うから「f」としているのでしょうね。
ファイルを取扱う構文として、丸覚えしておこうと思います。

open()を使い、ファイルを開くと、close()メソッドで閉じる必要があります。しかし、with・・・asを使うと、close()メソッドは不要です。作業が終わると自動で対象のファイルは閉じてくれるそうです。

open()の引数は、ファイル名・モード・文字コードを指定します。
ファイル名はフルパスで指定します。(例:C:\data\data.txt)

モードは指定したファイルに対してどういう動作をするかを決定します。

モード 意味
r 読み込み(初期状態)
w 書き込み:ファイルがある場合上書き
a 書き込み:ファイルがある場合追記
b バイナリモード
t テキストモード(初期状態)

ここでは「mode=’a’」と指定しているので、「テキストモードで、書き込む:ファイルがある場合追記」となります。

今回作ろうとしているプログラムは、ウェブサイトからデータを入手→ファイルに書き込むことを繰り返します。
そのため、モードは「a」を指定します。

文字コードは、読み込み・書き込みいずれの場合でも、必ず指定します。「utf-8」にしておけば無難であると思います。(他には、shift_jis・euc_jpなどもあります。)

2行目:
変数fに対して、write()メソッドを実行します。
write()メソッドの引数は、書き込む内容となります。
例では、書き込む内容の末尾に改行「\n」を指定しています。この文字を入力しておくことで、追記→改行→追記→改行・・・と書き込まれます。

コメント

タイトルとURLをコピーしました