前回、ファイルに書き込まれたデータからプログラムを実行する流れを紹介しました。
今回はプログラムの実行結果をファイルに書き込む方法を紹介します。
※前回の記事
【Python】プログラム実行結果をファイルに書き込む
プログラムの実行結果をファイルに書き込む一連の動作は、ファイルを読み込む動作とは異なります。
ファイルに対して、読み込むのか書き込むのかは以下のモードを利用します。
- 読み込み用にファイルを開く:「読み込みモード」
- 書き込み用にファイルを開く:「書き込みモード」
ファイルを「書き込みモード」で開くプログラムの書き方
ファイルを書き込みモードで開く場合は、「open()関数」で2番目の引数にモードを指定します。
今回はファイルに書き込むので、「w」(Writeの頭文字)を指定するとファイルを書き込みモードで開きます。
file = open('test.txt', 'w')
- file = 変数
- open = open関数
- test.txt = 読み込むファイル名
- ‘w’ = 書き込みモードを指定
書き込みモード’w’は上書き保存
ファイルの書き込みモードには以下の2つの特徴があります。
- ファイルが存在しない場合は新規でファイルを作成
- ファイルが存在する場合は上書き保存、もしくは追記
open(‘test.txt’, ‘w’)を実行した際、open()関数はファイルが存在しない場合、新規に「test.txt」ファイルを作成し、書き込みモードで開きます。
「test.txt」がすでに存在する場合は、open()関数はファイルの中身をすべて削除し上書きをしますので注意しましょう。
ちなみに現在あるファイルのデータに追記する場合は ’a’ を使用します。
ファイルにデータを出力させるプログラム
「test.py」というファイルを作成し、以下のようにファイルにデータを書き込むプログラムを作成します。
file = open('test.txt', 'w') file.write('test Hello!') file.close()
- open関数で書き込みモードを開く
- file.writeでデータを書き込み
- file.close()でファイルを閉じる
プログラム実行結果
以下で作成したプログラムを実行します。
>python test.py >type test.txt test Hello! >
「type test.txt」コマンドでファイルの中身を表示します。
ファイルが作成され、中身にデータが書き込まれたことが確認できます。
ファイルの上書き
以下では同じファイルに対して書き込むデータを「test rewirte!」に変更し、上書きされることを確認しています。
file = open('test.txt', 'w') file.write('test rewrite!') file.close()
実行結果
>type test.txt test Hello! >python test.py >type test.txt test rewrite! >
「test Hello!」が「test rewrite!」と上書きされています。
複数データの書き込み
プログラムで複数のデータを書き込みたい場合は以下のように何度かwrite()メソッドを呼び出し、複数データを書き込みます。
file = open('test.txt', 'w') file.write('test Hello!') file.write('test Python!') file.close()
実行結果
プログラムを実行して、中身をみると、1行に、書き込まれたデータが表示されます。
>python test.py >type test.txt test Hello!test Python! >
「複数行」データの書き込み
上記では複数データを書き込んでも1行でデータが表示されます。
データの間を改行したい場合は「改行コード」を書き込む必要があります。
Pythonでは「n」と書くことで改行されます。
Windowsでは「¥」キー、MacOSでは「option」+「¥」キーを押します。
file = open('test.txt', 'w') file.write('test Hello!n') file.write('test Python!n') file.close()
実行結果
>type test.txt test Hello! test Python! >
以上で、Pythonの簡単なファイルの書き込みプログラムとなります。
サーバーを構築するならVPSがおすすめです。
エンジニアのオンライン学習
ITエンジニアにおすすめの教材、オンラインスクールです。
無料からエンジニアの学習ができる教材などまとめているので参考にしてください。
おすすめオンライン教材 | |
自宅で学習ができるオンラインスクール | |
ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。
コメントを残す