Python - テキストファイルの入出力(書込、読込)

公開日:2019-04-17 更新日:2019-05-14
[Python]

1. 概要

テキストファイルの入出力(書込、読込)を行います。

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

f = open("test.txt", mode = "w")
f.write("Hello")
f.close

mode="a"にすると、既存のファイルに追記されます。
また、with を使うと、インデント終了時に自動的に close されます。
with open("test.txt", mode = "a") as f:
	f.write("Hello")

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

with open("test.txt", mode = "r") as f:
	s = f.read()

print(s)

4. テキストファイル入出力のサンプル

UTF-8 でテキストファイルに書き込んで、それを読み込んでいます。
改行する場合は、改行コード(\n)をつける必要があります。

path = "test.txt"

#書き込み
with open(path, mode = "w", encoding = "utf-8") as f:
	f.write("123")
	f.write("456")
	f.write("789")
	f.write("\n")
	f.write("abc\n")
	f.write("def\n")
	f.write("ghi\n")
	f.write("\n")
	f.writelines(["あいうえお", "かきくけこ", "さしすせそ"])
	f.writelines(["たちつてと\n", "なにぬねの\n", "はひふへほ\n"])

#読み込み
with open(path, mode = "r", encoding = "utf-8") as f:
	print(f.read())
123456789
abc
def
ghi

あいうえおかきくけこさしすせそたちつてと
なにぬねの
はひふへほ

5. テキストファイル入出力のサンプル

リストの内容をファイルに書き込んでいます。
改行コードは、リスト内包表記で付けています。

ファイル書き込み後、そのファイルを for を使って1行ずつ読み込んでいます。
読み込んだ文字列の末尾には改行コードがついているため、strip() で削除しています。

path = "test.txt"

lines = ["あいうえお", "かきくけこ", "さしすせそ"]
lines = [s + "\n" for s in lines]

with open(path, mode = "w") as f:
	for s in lines:
		f.write(s)

with open(path, mode = "r") as f:
	for s in f:
		print(s.strip())
あいうえお
かきくけこ
さしすせそ