目次
書き込む
# 書き込む
s = """\
ABC
DEF
GHI
JKL
"""
with open('test.txt', 'w') as f:
f.write(s)読み込む
# 読み込み
with open('test.txt', 'r') as f:
print(f.read())
読み込む(readline)
# 1行ずつ読み込む(printの改行+ファイル内の改行で空行がでる)
with open('test.txt', 'r') as f:
while True:
line = f.readline()
print(line)
if not line:
break
# 1行ずつ読み込む(end=''で改行をなくす)
with open('test.txt', 'r') as f:
while True:
line = f.readline()
print(line, end='')
if not line:
break
チャンクで読み込む
# チャンクで文字数を指定して読み込む(readの引数として利用、改行も1文字)
with open('test.txt') as f:
while True:
chunk = 2
line = f.read(chunk)
print(line)
if not line:
break
seekで移動
- WIndowsの場合は改行コードが2文字分になるため、複数行の文字列をファイルに書き込む場合は
'newline=\n'を追加すると同様に移動できる(改行コードがLFになる)
# ファイル内の位置を移動する(tellでわかる)
with open('test.txt', 'r') as f:
print(f.tell()) # 最初の位置はゼロ
print(f.read(0)) # 最初の位置に文字なし
print(f.read(1)) # 1文字目の文字を読み込むとA
print(f.seek(5)) # seekで5番目に移動する(0から数えて5番目)1.A.2.B.3.C.4.D.5.<E>
print(f.read(1)) # 5番目の最初の文字Eが表示される