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

Pythonのテキストファイルの書き込みと読み込みのサンプルです。

確認環境
・Python 3.7.2

目次

open関数

open(filename, mode,文字コード)
  • 1つめの引数は、ファイル名を指定します。
  • 2つめの引数は、モードです。
    文字 説明
    r 読み込みます
    w 新規で書き込みます
    a 追記で書き込みます
    r+ 追記の書き込みと読み込みができます
    ファイルが存在しない場合はエラーになります
    w+ 新規の書き込みと読み込みができます
    ファイルがない場合作成します
    a+ 追記の書き込みと読み込みができます
    ファイルがない場合作成します
    b バイナリーモードで開きます
  • file object を返します。
  • 以下はPythonの公式ドキュメントのファイルを読み書きするのリンクです。
    https://docs.python.org/ja/3/tutorial/inputoutput.html#reading-and-writing-files

読み込むサンプルのファイル

以下は、読み込むサンプルのファイル(test1.txt)です。

あいうえお
かきくけこ
さしすせそ

テキストファイルを読み込む

テキストファイルを読み込むサンプルです。

# coding: utf-8

path1 = "E:\\test1\\test1.txt"

file1 = open(path1,'r',encoding='utf-8')

for line in file1:
	print (line) #あいうえお かきくけこ さしすせそ

file1.close()

3行目は、ファイルのパスです。
5行目は、open関数でファイルを開いています。2つめの引数はr(read)です。3つめの引数でutf-8を指定しています。shift-jisを指定する場合は、encoding='shift_jis'にします。省略した場合は、デフォルトでUTF-8になります。
7行目は、for文でループ処理を行います。
8行目は1行ごとに表示されます。
10行目は、ファイルを閉じています。

複数行読み込みリストを返す(readlines)

複数行読み込みリストを返すサンプルです。

# coding: utf-8

path1 = "E:\\test1\\test1.txt"

file1 = open(path1,'r',encoding='utf-8')

f1 = file1.readlines()

file1.close()

print (f1) #['あいうえお\n', 'かきくけこ\n', 'さしすせそ\n']

7行目は、readlinesメソッドは、複数行読み込みます。
11行目は、リストが表示されます。

1行読み込み文字列を返す(readline)

1行読み込み文字列を返すサンプルです。

# coding: utf-8

path1 = "E:\\test1\\test1.txt"

file1 = open(path1,'r',encoding='utf-8')

f1 = file1.readline()

file1.close()

print (f1) # あいうえお

7行目は、readlineメソッドは、1行読み込みます。
11行目は、1行目の文字列が表示されます。

読み込む文字数を指定する(read)

読み込む文字数を指定するサンプルです。

# coding: utf-8

path1 = "E:\\test1\\test1.txt"

file1 = open(path1,'r',encoding='utf-8')

f1 = file1.read(7)

for line in f1:
	print (line) #あ い う え お か

file1.close()

7行目readメソッドに引数の数値をつけ読み込む文字数を指定しています。
10行目は、文字は6文字のみ表示されています。改行も1文字とされるためです。

テキストファイルに書き込む(write)

テキストファイルに書き込むサンプルです。

# coding: utf-8

path1 = "E:\\test1\\test2.txt"

s1 = "赤青"

file1 = open(path1,'w',encoding='utf-8')

file1.write(s1)

file1.close()

3行目は、ファイルのパスです。
5行目は、ファイルに書き込む文字列です。
7行目は、open関数でファイルを開いています。2つめの引数はw(write)です。3つめの引数でutf-8を指定しています。shift-jisを指定する場合は、encoding='shift_jis'にします。省略した場合は、デフォルトでUTF-8になります。
9行目は、write関数で書き込みを行います。
11行目は、ファイルを閉じています。

関連の記事

Python リストの仕組みと使い方のサンプル(list)

△上に戻る