Pythonでファイルの中の一部の文字列を置換する方法です。
Python3.7.2
ソースコード
とりあえずパスをベタ書きで簡単に書いてみます。
#coding:utf-8 # ファイルを読み込む with open(r"C:\Users\UserName\Desktop\example.txt","r",encoding="utf-8") as file: filedata=file.read() # 置換する filedata=filedata.replace("target_1","replaced_1") filedata=filedata.replace("target_2","replaced_2") # ファイルに書き込む with open(r"C:\Users\UserName\Desktop\example.txt","w",encoding="utf-8") as file: file.write(filedata)
ファイルパスを引数で受け取る
次にファイルパスを引数で受け取ってみます。
#coding:utf-8 import argparse # パーサーを作る parser = argparse.ArgumentParser(prog='example.py', usage='置換の例', add_help=True) # 引数を追加 parser.add_argument('filePath', type=str, help='置換するファイルのパス') # 引数を解析する args = parser.parse_args() file_encoding="utf-8" with open(args.filePath,"r",encoding=file_encoding) as file: filedata=file.read() filedata=filedata.replace("target_1","replaced_1") filedata=filedata.replace("target_2","replaced_2") with open(args.filePath,"w",encoding=file_encoding) as file: file.write(filedata)
前節のものより若干使いやすくなりました。