Python を使用してファイル内の文字列を置き換える

Vaibhhav Khetarpal 2023年10月10日
  1. 入力ファイルと出力ファイルが異なる場合は、replace() 関数を使用する
  2. 入力と出力に 1つのファイルのみが使用される場合は、replace() 関数を使用する
Python を使用してファイル内の文字列を置き換える

ファイル処理は、Web アプリケーションの重要な側面です。Python は、他のプログラミング言語と同様に、ファイル処理をサポートしています。これにより、プログラマーはファイルを処理し、基本的に、読み取り、書き込み、およびファイルを操作するための他のファイル処理オプションなどの基本的な操作を実行できます。

open() 関数を使用して、Python プログラムでファイルを開くことができます。ファイルは、ユーザーが決定するテキストモードまたはバイナリモードのいずれかで開くことができます。open() 関数にはいくつかのモードがあり、それらはすべて、開くファイルにさまざまなアクセシビリティオプションを提供します。

Python の文字列という用語は、一重引用符または二重引用符で囲まれた Unicode 文字のクラスターとして説明できます。文字列は、Python コードで開くテキストファイル内に含めることができます。

このチュートリアルでは、Python でファイル内の文字列を置き換えるさまざまな方法について説明します。

入力ファイルと出力ファイルが異なる場合は、replace() 関数を使用する

Python の replace() メソッドは、サブ文字列を検索して別のサブ文字列に置き換えるために使用されます。

replace() 関数には、oldvaluenewvalue、および count の 3つのパラメーターがあります。oldvaluenewvalue はどちらも必須の値であり、関数に count パラメーターを提供することはオプションです。

次のコードは、入力ファイルと出力ファイルが異なる場合に、replace() 関数を使用して Python の文字列を置き換えます。

# the input file
fin = open("f1.txt", "rt")
# the output file which stores result
fout = open("f2.txt", "wt")
# iteration for each line in the input file
for line in fin:
    # replacing the string and write to output file
    fout.write(line.replace("gode", "God"))
# closing the input and output files
fin.close()
fout.close()

上記のコードの出力では、ファイル内の文字列 gode が単語 God に置き換えられます。

上記のコードでは、f1.txtf2.txt の 2つの異なるファイルを同時に処理しています。f1.txt はテキスト読み取り rt モードで開かれ、fin を参照します。f2.txt はテキスト書き込み wt モードで開かれ、fout を参照します。次に、for ループが繰り返され、ファイル内で文字列 gode が出現するたびに、単語 God に置き換えられます。次に、close() 関数を使用して必要な操作を行った後、両方のファイルを閉じます。

入力と出力に 1つのファイルのみが使用される場合は、replace() 関数を使用する

この方法では、同じファイルが入力と出力の両方として使用されます。

ここでは、replace() 関数とともに with ステートメントを使用します。with コンテキストマネージャーには、プログラムを短くして読みやすくするという基本的な機能があります。

ファイル処理で with ステートメントを使用する場合、Python コードで開いたファイルを手動で閉じる必要はありません。with ブロックが終了すると、自動的に閉じます。

次のコードは、入力ファイルと出力ファイルが同じ場合に、replace() 関数を使用して Python の文字列を置き換えます。

with open("file1.txt", "rt") as file:
    x = file.read()

with open("file1.txt", "wt") as file:
    x = x.replace("gode", "God")
    fin.write(x)

次のコードは、入力ファイルと出力ファイルの両方として file1 を取ります。まず、ファイルがテキスト読み取り rt モードで開かれ、ファイルの内容が読み取られて変数に格納されます。次に、ファイルを閉じて再度開きますが、今回はテキスト書き込みモード wt です。文字列が置き換えられ、このモードでデータが書き込まれた後、ファイルが閉じられます。

Vaibhhav Khetarpal avatar Vaibhhav Khetarpal avatar

Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.

LinkedIn

関連記事 - Python File

関連記事 - Python String