ファイル操作#
一行ずつファイルを読み込む#
readlines() メソッドは便利だが、一度にファイルの情報を読み込むため、 メモリの消費量が多い。そういった時は以下のように一行ずつファイルを読み込んで処理するとよい。
ファイル内の文字列置換#
file_name = "sample.txt"
with open(file_name, encoding="cp932") as f:
data_lines = f.read()
# 文字列置換
data_lines = data_lines.replace("グーグルマップ", "Google マップ ")
# 同じファイル名で保存
with open(file_name, mode="w", encoding="cp932") as f:
f.write(data_lines)
import fileinput
file_name = "sample.txt"
with fileinput.FileInput(file_name, inplace=True, backup=".bak") as f:
for line in f:
print(line.replace("グーグルマップ", "Google マップ "), end="")
Warning
fileinputはエンコードを指定できないためOSに依存する