Python

【Python】テキストファイルの読み込み/書き込み

この記事ではPythonでのテキストファイルの操作方法を説明します。テキストファイルの読み込み、書き込み、新規作成・保存など様々な操作が可能です。

正規表現を使用することで必要なテキストのみを抽出して操作することができるので、この記事を読んで色々と試してみてください。

Pythonでのプログラミング解説記事をメインに投稿しています。Twitterもやっているので良かったらフォローお願いします!

テキストファイルを開く

まずはテキストファイルの開き方について説明していきます。今回は例として以下のようなサンプルファイルを使用します。

sample.txt

これはサンプルテキストです。
Pythonでテキストファイルを読み込もう!

このサンプルファイルを開くためのコードを以下に示します。

path = './sample.txt'
with open(path, mode='r',encoding='utf-8') as f:
    text = f.read()
print(text)

>>>
これはサンプルテキストです。
Pythonでテキストファイルを読み込もう!

テキストファイルを開くときにモードを指定する必要があります。

モード説明
'r'読み込み
'a'追記
'w'上書き
'x'排他的書き込み

ポイント

with open('ファイルのパス',mode='モード',encoding='文字コード') as f:

    *----テキストファイルに対する処理----*

テキストファイルの読み込み

すべてのテキストを読み込む:read()

with open ('/sample.txt', mode='r') as f:
    text = f.read()
print(text)

>>>
これはサンプルテキストです。
Pythonでテキストファイルを読み込もう!

1行だけテキストを読み込む:readline()

with open('/sample.txt', mode='r') as f:
    line = f.readline()
print(line)

>>>
これはサンプルテキストです。

全てのテキストを行ごとにリストの要素として格納:readlines()

with open('/sample.txt', mode='r') as f:
    lines = f.readlines()
print(lines)

>>>
['これはサンプルテキストです。\n', 'Pythonでテキストファイルを読み込もう!']

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

テキストファイルに追加で書き込み

mode='a'では追記モードでテキストファイルを開きます。ファイルが存在しない場合は新たにファイルを作成し、既に存在する場合はファイルの最後にテキストを追記していきます。

with open('/sample.txt', mode='a') as f:  #追記モードで開く
    f.write('Pythonでテキストファイルに書き込もう!')

with open('/sample.txt', mode='r') as f:
    text = f.read()
print(text)

>>>
これはサンプルテキストです。
Pythonでテキストファイルを読み込もう!
Pythonでテキストファイルを書き込もう!

テキストファイルの上書き

mode='w'では上書きモードでファイルを開きます。追記モードとは違い既に書き込まれているテキストを削除して、新たに書き込みを行うので使用には注意が必要です。

with open('/sample.txt', mode='w') as f:
    f.write('テキストファイルを上書きします。')

with open('/sample.txt', mode='r') as f:
    text = f.read()
print(text)

>>>
テキストファイルを上書きします。

ファイルが存在しない場合にテキストファイルを作成

mode='x'を指定することで排他的書き込みモードでファイルを開くことができます。このモードではファイルが存在しない場合のみファイルを作成して書き込み保存をします。既にファイルが存在する場合はFileExitsErrorというエラーが発生します。ファイルを上書きや変更をしたくない場合に使用ます。

#正常に実行されている場合(sample.txtがまだ存在しない場合)
try:
    with open('./sample.txt', mode='x') as f:
        f.write('hogehoge')

#FileExistsErrorが発生した場合(sample.txtが既に存在する場合)
except FileExistsError:
    print('ファイルが既に存在します。')

>>>
ファイルが既に存在します。
あわせて読む
プログラミングスクールおすすめ5選

「プログラミングを勉強したいけど、独学は不安」「独学でプログラミングを勉強しているけど挫折しそう」などの悩みからプログラミングスクールを検討する人は多いのではないでしょうか。受講料金、学習言語、学習方 ...

おすすめの参考書

みんなのPython 第4版【電子書籍】[ 柴田 淳 ]



退屈なことはPythonにやらせよう





-Python

© 2021 OFFD