Pythonでファイルにデータを書き込んでみます。
書き込むことのできるものは、テキストファイル(.txt)、htmlファイル(.htmlまたは.htm)、PHPファイル(.php)などのプレーンテキストファイルとなります。
今回の方法では、Word文書やPDFなどに書き込むことはできません。
■Python
今回のPythonのバージョンは、「3.8.2」を使用しています。(Windows10)
■テストのテキストファイルを用意する
Pythonでファイルへの書き込みを行っていきたいと思いますが、まず今回はテストでテキストファイルを用意します。
今回用意したテキストファイルは、空の「test01.txt」です。
テキストファイルの保存先は「C:\Users\user\test(フォルダパス)」となります。
■ファイルにデータを書き込むスクリプトを書く
テキストファイルの用意ができましたので、次にファイルにデータを書き込むスクリプトを書いていきます。
openfile = open(r'C:\Users\user\test\test01.txt', 'w') openfile.write('文章を追加しました。') openfile.close()
open()関数を使って、今回用意したテキストファイルを開きます。open()関数の中には「’w’」と記述します。この「’w’」は、write(書き込み)の意味で、「’w’」モードという機能が働きます。この機能は、ファイル内のすべてが上書きされる仕組みとなっています。そのため、ファイルに既に何かが含まれている場合は、消去され、write()関数で記述したものに置き換えられますので、注意が必要です。
write()関数でファイルに何を書き込むかを記述した後は、close()関数でopen()関数で開いたファイルを閉じます。ファイルへの書き込み後にファイルを閉じないと、内容は書き込まれません。
■実行
今回書いたスクリプトを「write-to-file.py」という名前で保存し、コマンドプロンプトから実行してみます。
実行してみると、print関数での書き込み結果の出力はスクリプトに書いていないので、何も表示されません。今回用意したテキストファイルにデータが書き込まれているのか確認するためにファイルの保存先へ移動しファイルの中身を開いてみます。
開いてみると、write()関数で記述した文章が今回用意したテキストファイルに書き込まれていることが確認できました。
■ファイルにデータを追加する
今回、open()関数の中に「’w’」と記述し、「’w’」モードでファイルのすべてが上書きされる形で書き込みを行いましたが、上書きせずに、ファイルの中にあるデータに追加するだけという機能もあります。
openfile = open(r'C:\Users\user\test\test01.txt', 'a') openfile.write('上書きはされません。') openfile.close()
この機能を使う場合は、上記のようなスクリプトとなります。open()関数の中には「’a’」と記述します。このようにすることで、「a」モードが機能し、write()関数に記述したものをファイル内に追加だけすることができます。
実際にスクリプトを実行してみます。
実行してみると、「write-to-file.py」のスクリプトを実行してファイルに書き込んだものが消去されずに、新しいデータが追加されていることが確認できました。
コメント