ファイルの読み込みと書き込みを同時に行いたい場合
w+を使う場合
"w+"は読み込みと書き込みが可能
sの内容をファイルに書き込み
seekで先頭に戻り、読み込んでいる
ここでseekを用いないとエラーが発生する
qiita.py
s="""\
AAA
BBB
CCC
DDD
"""
with open("test.text", "w+") as f:
f.write(s)
f.seek(0)
print(f.read())
実行結果
AAA
BBB
CCC
DDD
注意点
"w+"で書き込み、読み込みはできるが
実行した時点でファイルの中身が消えてしまう
次のように読み込みのみしようとすると
qiita.py
s="""\
AAA
BBB
CCC
DDD
"""
with open("test.text", "w+") as f:
# f.write(s)
# f.seek(0)
print(f.read())
実行結果
r+を使う場合
wのときとは違い読み込むファイルがないとエラーになるので注意
qiita.py
s="""\
AAA
BBB
CCC
DDD
"""
with open("test.text", "r+") as f:
print(f.read())
f.seek(0)
f.write(s)