オーダーメイドコース
icon
icon

Pythonでファイルに書き込みする方法を現役エンジニアが解説【初心者向け】

初心者向けにPythonでファイルに書き込みする方法について現役エンジニアが解説しています。Pythonではファイルを開くopenメソッドと閉じるcloseメソッドを使います。ファイルを開く場合は、モードと文字コードに注意しましょう。

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査

Pythonでファイルに書き込みする方法について解説します。

そもそもPythonについてよく分からないという方は、Pythonとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプPython講座の内容をもとに紹介しています。

 

田島悠介

今回は、Pythonに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

Pythonでファイルに書き込みする方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

ファイルを読み書きする方法

データを読み込んだりプログラムの結果を書き込んだりと、プログラミングの際に多く行われるのがテキストファイルの読み書きです。

Pythonでは標準でテキストファイルを読み書きするメソッドが用意されています。

この記事ではPythonでテキストファイルを読み書きする方法について確認していきます。

 

openメソッドの基本

テキストファイルを読み書きする際に共通で使用するのがopenメソッドとcloseメソッドです。

openメソッドとcloseメソッドは以下のように使用します。
 

ファイルオブジェクト = open(ファイル名, "モード", encoding = "文字コード")
# この間にファイルの読み込み、または書き込みを行う処理を記述する
ファイルオブジェクト.close()

 
openメソッドの引数については以下のとおりです。

  • ファイル名:読み込みまたは書き込みを行うファイル名を指定します
  • モード:
    • “w”:書き込み(新規作成。既に同名のファイルが存在すれば上書き)
    • “x”:書き込み(新規作成。既に同名のファイルが存在すればエラー)
    • “a”:書き込み(追記。既に同名のファイルが存在すれば末尾に追記)
    • “r”:読み込み
  • encoding:文字コードを指定します。通常は「”utf_8″」を指定します。

 

[PR] 未経験からWebエンジニアを目指す方法とは

実際に書いてみよう

今回のサンプルプログラムでは、ファイルの書き込みと読み込みの方法について確認します。

まずはファイルの書き込みについては以下のとおりです。
 

# ファイルの書き込み
file = "test.txt"

fileobj = open(file, "w", encoding="utf_8")
for i in range(1,10):
  fileobj.write("*" * i + "n")
fileobj.close()

 
実行結果は以下のようになります。

test.txtというファイルが作成され、ファイルの内容が以下のようになっていることが確認できます。
 

 
次はファイルを読み込む方法について確認しましょう。ファイルの内容を変数dataに取得してprint関数で表示しています。
 

# ファイルの読み込み
fileobj = open(file, "r", encoding = "utf_8")
data = fileobj.read()
fileobj.close()
print(data)

 
実行結果は以下のようになります。
 

*
**
***
****
*****
******
*******
********
*********

 

監修してくれたメンター

太田和樹(おおたかずき)

ITベンチャー企業のPM兼エンジニア

普段は主に、Web系アプリケーション開発のプロジェクトマネージャーとプログラミング講師を行っている。守備範囲はフロントエンド、モバイル、サーバサイド、データサイエンティストと幅広い。その幅広い知見を生かして、複数の領域を組み合わせた新しい提案をするのが得意。

開発実績:画像認識技術を活用した駐車場混雑状況把握(実証実験)、音声認識を活用したヘルプデスク支援システム、Pepperを遠隔操作するアプリの開発、大規模基幹系システムの開発・導入マネジメント。

地方在住。仕事のほとんどをリモートオフィスで行う。通勤で消耗する代わりに趣味のDIYや家庭菜園、家族との時間を楽しんでいる。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でもPythonを使った人工知能(AI)や機械学習の基礎を習得できるオンラインブートキャンプPython講座を開催しています。

挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。