Python テキスト中の文字列を置換する

Programming
Programming
スポンサーリンク

はじめに

テキスト中の文字を変更するスクリプトが欲しいと思ったので書いてみました.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コードは、テキストファイル内の特定の文字列を別の文字列に置換します.以下にコードの概要を示します.

  1. replace_text関数は、指定されたテキストファイルのパスを引数として受け取ります.
  2. テキストファイルを読み込み、その内容を文字列として取得します.
  3. old_textnew_textを使って、テキスト内の特定の文字列を置換します.
  4. 置換後の結果を指定された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…

コメント

タイトルとURLをコピーしました