はじめに
テキスト中の文字を変更するスクリプトが欲しいと思ったので書いてみました.Linuxならコマンドでできるのかもしれないですが、argparse
の勉強もかねてPythonで記載しました.
Pythonコード
import argparse
def replace_text(file_path, old_text, new_text, output_file_path):
# テキストファイルを読み込む
with open(file_path, "r") as file:
content = file.read()
# 文字列の置換
new_content = content.replace(old_text, new_text)
# 結果を出力する
print(new_content)
# 結果を指定されたファイルに書き込む
with open(output_file_path, "w") as file:
file.write(new_content)
if __name__ == "__main__":
# コマンドライン引数の解析
parser = argparse.ArgumentParser(description="Text replacement")
parser.add_argument("file_path", help="Path to the input text file")
parser.add_argument("old_text", help="Text to be replaced")
parser.add_argument("new_text", help="Text to replace with")
parser.add_argument("output_file_path", help="Path to the output text file")
args = parser.parse_args()
# 引数を使って置換を実行
replace_text(args.file_path, args.old_text, args.new_text, args.output_file_path)
コードの説明
このPythonコードは、テキストファイル内の特定の文字列を別の文字列に置換します.以下にコードの概要を示します.
replace_text
関数は、指定されたテキストファイルのパスを引数として受け取ります.- テキストファイルを読み込み、その内容を文字列として取得します.
old_text
とnew_text
を使って、テキスト内の特定の文字列を置換します.- 置換後の結果を指定されたoutputファイルに書き込みます.
実行例
以下は、コマンドラインから実行する例です.
python replace_text.py file_path old_text new_text output_file_path
ここで、file_path
は置換を行いたいテキストファイルのパス、old_text
は置換対象の文字列、new_text
は置換後の文字列、output_file_path
は出力結果を書き込むファイルのパスです.指定されたファイルが存在しない場合、新しいファイルが作成されます.
このコードを使用すると、テキストファイル内の特定の文字列を置換できます.
参考
ArgumentParserの使い方を簡単にまとめた - Qiita
はじめにPythonの実行時にコマンドライン引数を取りたいときは,ArgumentParser (argparse)を使うと便利です。様々な形式で引数を指定することができます。初めてargpa…
コメント