【Python】プログラムの実行結果をファイルへ書き込みをする方法


前回、ファイルに書き込まれたデータからプログラムを実行する流れを紹介しました。
今回はプログラムの実行結果をファイルに書き込む方法を紹介します。

※前回の記事

【Python】ファイルを読み込んだプログラムの作成

2019年12月17日

【Python】プログラム実行結果をファイルに書き込む

プログラムの実行結果をファイルに書き込む一連の動作は、ファイルを読み込む動作とは異なります。
ファイルに対して、読み込むのか書き込むのかは以下のモードを利用します。

  • 読み込み用にファイルを開く:「読み込みモード」
  • 書き込み用にファイルを開く:「書き込みモード」

ファイルを「書き込みモード」で開くプログラムの書き方

ファイルを書き込みモードで開く場合は、「open()関数」で2番目の引数にモードを指定します。
今回はファイルに書き込むので、「w」(Writeの頭文字)を指定するとファイルを書き込みモードで開きます。

file = open('test.txt', 'w')
  1. file = 変数
  2. open = open関数
  3. test.txt = 読み込むファイル名
  4. ‘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()
  1. open関数で書き込みモードを開く
  2. file.writeでデータを書き込み
  3. 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の簡単なファイルの書き込みプログラムとなります。


関連記事


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

ABOUTこの記事をかいた人

blank

インターネット関連のSEをやっています。 ネットワーク、サーバー、ストレージ、仮想基盤まで幅広く手を出しており、MVNOの構築経験もあります。 現在は、Pythonを使ったプログラミングの開発をしネットワークの自動化ツールを作成しています! Pythonの入門書も作成しているので、ぜひ参考にしてください!