[Python]replace()でファイルの中身の文字列を置換
スポンサーリンク
replace()でファイルの中身の文字列を置換
下記の形式で、replace()で文字列を置換することができます。
'str'を 'AFTER'に置換する場合には、下記のように書きます。
after = string.replace('str', 'AFTER')
置換回数を指定することもできます。
例えば、1回のみ置換する場合には、下記のように引数に1を指定します。
after = string.replace('str', 'AFTER', 1)
それでは、ファイルの中身を置換する場合です。
ファイルをオープンしたあと、read()でファイルの中身を変数fileTextに読み込みます。
参考:[Python]ファイルを読み込むread()/readlines()/readline()の使い方
そして、fileText.replace()で置換を行います。
ファイルオープンしてread()すれば、あとはreplace()を使うだけですね。
filename = 'sample.txt' with open(filename, 'r') as f: fileText = f.read() after = fileText.replace('str', 'AFTER') print(after)
下記のように、置換結果で新規にファイルを生成しても良いかと思います。
filename = 'sample2.txt' with open(filename, 'w') as f: f.write(after)
スポンサーリンク
サンプルコード
下記のように、sample.txtがあったとします。
$ cat sample.txt string
下記がサンプルコードになります。
$ cat sample.py #!/usr/bin/env python3 # coding: UTF-8 string = "stringstringtext" after = string.replace('str', 'AFTER') print(after) after = string.replace('str', 'AFTER', 1) print(after) filename = 'sample.txt' with open(filename, 'r') as f: fileText = f.read() after = fileText.replace('str', 'AFTER') print(after) filename = 'sample2.txt' with open(filename, 'w') as f: f.write(after)
下記が実行結果になります。
$ ./sample.py AFTERingAFTERingtext AFTERingstringtext AFTERing
sample2.txt は下記のように生成されて、文字列が置換されているのが確認できます。
$ cat sample2.txt AFTERing
スポンサーリンク