最近、業務でPythonを使用することがあり、普段は使用しないこともあり、丁寧に日本語コメントが挿入されているプログラムを貰いました。
展開先が外国だったので、何度も手動で置換や消去が面倒くさかったので、コメントアウトされている日本語をとりあえず全て削除して元プログラムとは別にして保存するプログラムを作成しました。
この記事の対象
プログラム
import re
#1---元のファイル名と新しいファイル名を指定
original_file = "test3.py"
new_file = "test3_jp2.py"
#2---新しいファイルを作成し、元のファイルを読み込む
with open(new_file, "w", encoding="utf-8") as output_file, open(original_file, "r", encoding="utf-8") as input_file:
#3---元のファイルの内容を1行ずつ読み込む
for line in input_file:
#4---コメントアウトされた日本語を削除
new_line = re.sub(r'#.[ぁ-んァ-ン一-龥]+.*\n', '', line)
#5---新しいファイルに書き込む
output_file.write(new_line)
上記がプログラムになります。
以下は解説になります。
#1---元のファイル名と新しいファイル名を指定
original_file = "test3.py"
new_file = "test3_jp2.py"
1の部分ではファイルの指定と保存するファイル名を指定しています。
#2---新しいファイルを作成し、元のファイルを読み込む
with open(new_file, "w", encoding="utf-8") as output_file, open(original_file, "r", encoding="utf-8") as input_file:
2の部分では新しいファイルを作成して、元のファイルを読込んでいます。
#3---元のファイルの内容を1行ずつ読み込む
for line in input_file:
3の部分では読込んだファイルを1行ずつ読込んでいます。
#4---コメントアウトされた日本語を削除
new_line = re.sub(r'#.[ぁ-んァ-ン一-龥]+.*\n', '', line)
4の部分では「#」を基に日本語を「”」空欄で置換しています。
#5---新しいファイルに書き込む
output_file.write(new_line)
5の部分では新しいファイルに書き込んでいます。