こんにちは、うしまるです。
今日もPythonの勉強を一緒にしていきましょう!
今日のテーマは、「Pythonでファイルに書き込む方法について」です。
では、さっそくみていきましょう!
ファイルを書き込むとは?
プログラムの中でわりと頻繁に出会うのが、ファイルの入出力。ファイルの書き込みは、色々な処理を実施したあとの最終的なデータの保存として使用します。
Pythonでアプリケーション開発するときも、ユーザの作成した設定や、処理結果のデータをファイルとして書き込むときに使用しますので、しっかりマスターしたいですね。
Pythonでファイルを書き込んでみよう!
Pythonでファイルを書き込むには、予め用意されているopenメソッドの引数にモードを指定することで書き込みができるようになります。
読み込みもOpenメソッドを使います。合わせて確認してみてください。
Pythonでファイルに書き込むときのポイントをまずはみてみましょう!
- openメソッドを使ってファイルを開く
- writeメソッドを使ってデータを設定
- closeメソッドを使ってファイルを閉じる
手順1:openメソッドでファイルを開く
ファイルを書き込むためにはまず、openメソッドを使用して、ファイルオブジェクトを作成する必要があります。
このファイルオブジェクトを介して、Pythonのプログラムはファイルの内容を読み込んだり書き込んだりすることができます。
ファイルオブジェクト = open(“ファイル名“, “モード“, encoding = “文字エンコード“)
ファイル名について
ファイル名は、新規で作成するファイルもしくは、開きたいファイルの名称を設定します。ファイル名のみの場合は実行しているPythonのプログラムと同じ階層のファイルとして扱います。
他のフォルダのファイルを扱う場合はこのファイル名の場所に、ファイル名とそのファイルのパスを記載するようにしましょう。
モードについて
モードの設定で書き込みに関係のあるモードは、3つあります。
- ‘w’ … ファイルの新規作成(既存ファイルは上書き)
- ‘w+’ … ファイルの新規作成(読み書き両用)
- ’x’ … ファイルの新規作成(既存ファイルがあればエラー)
- ‘a’ …ファイルの追記(既存ファイルがあれば末尾に追記)
モードwは、ファイルを新規作成する場合に使用します。指定したファイル名のファイルが新規作成されます。もし同じ名前のファイル名がすでに存在する場合は、上書きになりますので上書きしたくない場合は注意しましょう。
モードw+は、ファイルを読み書き両用できるようにファイルを開きます。ファイルがない場合は新規で作成します。
モードxは、ファイルを新規作成しますが、すでに同じフォルダに同名のファイルが存在する場合は、エラーを出して上書きはしないようにします。
モードaは、ファイルを追記モードで開きます。同じフォルダに同名のファイルが有った場合は、そのファイルの末尾に書き込むデータを追記します。
エンコードについて
エンコードには、開くファイルのエンコードを指定します。この設定を間違えるとせっかく読み込んだファイルが文字化けしてしまったり、書き込みファイルが意図しない形で保存されてしまうので地味に注意が必要になります。
日本語を取り扱う場合は、’shift_jis’や’utf_8’がおすすめです。
手順2:writeメソッドでデータを設定する
手順1でファイルを作成したら、writeメソッドを使用して、データをファイルオブジェクトに設定します。
ファイルオブジェクト.write(“書き込みデータ“)
手順1で作成したファイルオブジェクトからwriteメソッドを呼び出して、引数に書き込みたいデータを設定します。
手順3:closeメソッドでファイルを閉じる
手順2でデータの書き込みが完了したらファイルを閉じましょう。
ファイルオブジェクト.close()
※closeメソッドを忘れてしまうとファイルがロックされる場合もありますので忘れずにファイルを閉じるようにしましょう。
実際に動かしてみよう!
ここからはVSCodeを使用して、ファイルの書き込みを実施してみます。
記述するソースコードはこちら
filename = "test.txt" fileobj = open(filename, "w", encoding = "utf_8") fileobj.write("今日も良い日だ!!\n") fileobj.close()
では、実際に動かしてみましょう!
まず最初に書き込み予定のフォルダになります。
まだ実行していないので、テキストファイルはないことが確認できますね。
VSCodeを開いてwritefile.pyを実行します。
コメントを追加していますが、コード自体は上に記述している内容と同じになります。
実行してみて特にエラーが発生しなければ実行完了です。
先程のフォルダをみてみましょう
「text.txt」ファイルができていますね
次はファイルの中身をみてみましょう
書き込んだ文章も反映されていることが確認できました
これでファイルの書き込み無事完了です
まとめ
今回は、Pythonにおけるファイルの書き込みについて解説しました。
今日のポイント!
- Pythonでファイルを書き込むときはopenメソッドを使用する
- 書き込み用のmodeがあるので使い分けよう
- ファイルにデータを書き込むときはwriteメソッドを使おう
- ファイルを閉じるときはcloseメソッドを使おう
ファイルの読み込み方法は下の記事で解説していますので合わせて確認してみてください。
他にも初心者の方向けにPythonの基本的な書き方についてまとめていますのでぜひ確認してみてください。
より詳しくPythonを学びたい方はこちらの本もおすすめです。興味のある方はぜひ手にとって見てください。
ランキングにも参加していますのでもしこの記事が役に立ったと思っていただいた方はポチッとしてもらえると励みになります。