Pythonによるテキストファイルの操作方法を現役エンジニアが解説【初心者向け】

初心者向けにPythonによるテキストファイルの操作方法について現役エンジニアが解説しています。Pythonでファイルを開くにはopenメソッドを使い、引数にファイルのパスを指定します。さらにファイルモードにrを指定すると読み込み、wで書き込みが出来ます。処理後にcloseメソッドで閉じます。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

Pythonによるテキストファイルの操作方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して、初心者向けに解説します。

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

 

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

 

田島悠介

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

大石ゆかり

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

田島悠介

Pythonによるテキストファイルの操作方法について詳しく説明していくね!

大石ゆかり

お願いします!

今回はPythonでテキストファイルの操作方法を紹介します。

テキストファイルの操作はPythonでのファイル操作の基本的な技術の一つで、応用することで業務を効率よくするためのシステムへの応用も可能です。

open関数によるテキストファイルの開き方と閉じ方

Pythonでテキストファイルを開いたり閉じたりするにはopen関数を使用します。open関数の引数にテキストファイルのパスを指定することで開きます。

開いたファイルのオブジェクトはclose()メソッドでファイルを閉じることができます。

テキストファイル内の読み込みと書き込み

テキストファイルの中身を読み込むにはopen関数の第1引数にファイル名、第2引数には”r”を入れることで読み込みます。読み込んだテキストの中身はreadメソッドを使うことで文字列として確認することでできます。

また、複数行のテキストファイルを1行ずつ読み込みたいときにはreadlinesメソッドを使うことで1行ずつ読み込んだリストを出力します。

fileName = "memo.txt"
f = open(fileName, "r")
print(f.read())
f.close()

 

[PR] Pythonで挫折しない学習方法を動画で公開中

with open関数の使い方

テキストファイルを開くときに先程open関数を使ってファイルオブジェクトを変数に格納しましたが、上記の方法以外にはwith構文を使ったファイル操作もあります。この方法を使うことで、closeメソッドを使わなくても構文を抜けるとファイルがそのまま閉じます。

with構文の1行目でファイルを開きasをつけることで、構文内でつかえるファイルオブジェクトの引数を定義できます。

以下のコードは上記のファイルを読み込むコードと全く同じ動作を行います。コードがシンプルになり、より読みやすいコードになります。

fileName = "memo.txt"
with open(fileName, "r") as f:
    print(f.read())

 

open関数を利用してテキストファイルを操作してみよう

それでは実際にテキストファイルを操作してみます。

今回はテキストファイルを新規で作成し、作成したテキストファイルの中身を確認するというものです。今回はwith構文を使用した例を紹介します。

fileName = "memo.txt"
with open(fileName, "w")  as f:
     f.write("TechAcademy")
with open(fileName,"r") as f:
    print(f.read())

 

まとめ

今回はテキストファイルを操作する方法を紹介してきました。

プログラムの実行結果をメモしたり、業務を効率化させるためのシステムを構築するための方法の一つの選択肢になると思います。

また、この方法はCSVなどのテキストベースのファイルオブジェクトの操作を行う際の基本にもなるので、覚えておくといいでしょう。

監修してくれたメンター

メンター三浦

モバイルゲームを運用している会社のエンジニアをしています。趣味でWEB開発やクラウドコンピューティングもやっており、ソフトもハードもなんでもやります。

TechAcademyジュニアではPythonロボティクスコースを担当しています。好きな言語はPython, Node.js。

 

大石ゆかり

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

田島悠介

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

大石ゆかり

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

 

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

また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。