Pythonのテキストファイルの書き込みと読み込みのサンプルです。(確認環境:Python 3)
目次
サンプル | 読み込むファイル |
テキストファイルを読み込む | |
複数行を読み込みリストを返す(readlines) | |
1行読み込み文字列を返す(readline) | |
読み込む文字数を指定する(read) | |
テキストファイルに書き込む(write) | |
open関数の2つめの引数の処理のモード |
読み込むファイル
以下のファイル(test1.txt)を読み込みます。
あいうえお
かきくけこ
さしすせそ
テキストファイルを読み込む
open(パス/ファイル名, 'r', encoding=文字コード) |
2つめの引数のrが読み込みを表します。
# coding: utf-8
path1 = "D:\\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)
readlinesで末尾にsがつきます。
# coding: utf-8
path1 = "D:\\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)
readlineで末尾にsはつきません。
# coding: utf-8
path1 = "D:\\test1\\test1.txt"
file1 = open(path1,'r',encoding='utf-8')
f1 = file1.readline()
f2 = file1.readline()
f3 = file1.readline()
file1.close()
print (f1) # あいうえお
print (f2) # かきくけこ
print (f3) # さしすせそ
7行目は、readlineメソッドは、1行読み込みます。
11行目は、1行目の文字列が表示されます。
読み込む文字数を指定する(read)
# coding: utf-8
path1 = "D:\\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)
open(パス/ファイル名, 'w', encoding=文字コード) |
2つめの引数のwが書き込みを表します。
# coding: utf-8
path1 = "D:\\test1\\test2.txt"
file1 = open(path1,'w',encoding='utf-8')
file1.write("赤\n")
file1.write("黄\n")
file1.write("青\n")
file1.close()
3行目は、ファイルのパスです。
5行目は、open関数でファイルを開いています。2つめの引数はw(write)です。3つめの引数でutf-8を指定しています。shift-jisを指定する場合は、encoding='shift_jis'にします。省略した場合は、デフォルトでUTF-8になります。
7行目は、write関数で書き込みを行います。\nは改行です。
11行目は、ファイルを閉じています。
open関数の2つめの引数の処理のモード
open(filename, mode,文字コード) |
- 1つめの引数は、ファイル名を指定します。
- 2つめの引数は、モードです。
- file object を返します。
文字 | 説明 |
---|---|
r | 読み込みます |
w | 新規で書き込みます |
a | 追記で書き込みます |
r+ | 追記の書き込みと読み込みができます ファイルが存在しない場合はエラーになります |
w+ | 新規の書き込みと読み込みができます ファイルがない場合作成します |
a+ | 追記の書き込みと読み込みができます ファイルがない場合作成します |
b | バイナリーモードで開きます |
以下はPythonの公式ドキュメントのファイルを読み書きするのリンクです。
https://docs.python.org/ja/3/tutorial/inputoutput.html#reading-and-writing-files
関連の記事