Pythonを使用してテキストファイル内の文字列を検索する方法

どの映画を見るべきですか?
 
  Pythonを使用してテキストファイル内の文字列を検索する方法

ほとんどの開発者は、Pythonが現在最も影響力があり愛されているプログラミング言語の1つであるという事実に同意しています。 Pythonは、動的で高レベルのオープンソースのインタプリタプログラミング言語です。





サラ・ジェロニモの前後

これにより、オブジェクト指向プログラミングと手続き型プログラミングが可能になります。開発分野の多くの学生は、Pythonを使ってプログラミングの旅を始めます。



Pythonの文字列

Pythonでは、文字列のタイプはstrです。 Python言語の文字列は、文字のシーケンスを表します。 Python文字列は不変です。つまり、一度作成すると変更または変更できません。

文字列を変更または変更する場合、既存の文字列では実行できません。新しい文字列を作成する必要があります。この記事は、Pythonプログラミング言語を使用してテキストファイル内の文字列を見つける方法を学ぶのに役立ちます。



何よりもまず、最新バージョンのPython(Python 3.9.1)がマシンにインストールされており、コードを記述できるIDE/エディターがあることを前提としています。

次のステップに進む前に、ファイルが何であるかを知っておく必要があります。



ファイルは、データを保存する伝染性のバイトセットです。このデータは特定の形式で具体化されます。テキストファイル、画像、実行可能ファイルは、さまざまな種類のファイルの例です。

Pythonを使用してテキストファイル内の文字列を検索する方法

私はタスクを2つの異なる方法に分割しています。最初に、テキストファイルから特定の文字列を見つける方法を学び、次に、対応する行番号で複数の文字列を見つける方法を示します。

1.テキストファイルから文字列を検索する

def check(my_file, string_search):
 # Opens my_file in read only mode
 with open(my_file, 'r') as read:
 # Read all the line in the file one by one
 for line in read:
 # Checki every lines if it contains the desired
string
 if string_search in line:
 return True
 return False

上記の例では、check関数はファイルのパスと目的の文字列の2つの引数を取ります。後で、my_fileという名前のテキストファイルを開き、各行を順番に繰り返します。

行に目的の文字列が含まれている場合、すぐに「True」が返されます。目的の文字列を含む行がない場合は、「False」を返します。

ここで、以下のテキスト行を含むdemo.textというテキストファイルがあり、文字列「Adam」を探しているとします。

This is a demo line
I am looking for a string
That contains Adam
Thank you!

このファイルに文字列「Adam」が含まれているかどうかを確認する必要があるとしましょう。そのために、以下のコードを書いてみましょう。

if check('demo.txt', 'Adam'):
 print('True')
else:
 print('Sorry String not found in your given file').

このコードを使用すると、テキストファイルで文字列「Adam」を使用できるため、出力「True」が得られます。

ドナ・クルーズとヨン・ララザバルの家

2.行番号とともに複数行で使用可能な文字列を検索する

テキストファイルで文字列を検索するときに役立つ可能性のある別のスクリプトを見てみましょう。

def search_string(file_name, string_search):
# Searches for a string that available in multiple lines
along with the line numbers
x = 0 # Line number
y = [] # List of serched result
# Opens the file in read only mode
with open(my_file, 'r') as read:
 for line in read:
 x += 1
 if string_search in line:
 y.append((x, line.rstrip()))
return y

上記のPythonプログラムのアルゴリズムに光を当てましょう。何よりもまず、このプログラムは、ファイルのパスと目的の文字列の2つの引数も受け入れます。

後で、タプルyの空のリストを作成します。次に、ファイルを読み取り専用モードで開き、各行を順番に繰り返して目的の文字列を取得します。

ポケモン サン・ムーン 海賊

行内で文字列が見つかった場合は、行番号と行のタプルを作成し、それをタプルのリストに追加して、タプルのリストを返します。ここで、テキストファイルに次の行があると仮定します

I am Adam
Demo line 1
Demo line 2
Adam writes the code
Thank you!

以下のコードを記述することにより、指定された文字列「Adam」の行番号とともにすべての行を取得できます。

get_lines = search_string('demo.txt', 'Adam')
print('Lines with the String : ', len(get_lines))
for elem in get_lines:
print('Line Number = ', elem[0], ' : Line = ', elem[1])

あなたは 出力 このような:

Lines with the String: 2
Line Number = 1 : Line = I am Adam
Line Number = 4 : Line = Adam writes the code

結論

Python開発者として、ファイル処理スキルは不可欠です。開発者は、ファイルからの読み取りまたはファイルへの書き込みに関係なく、ファイル内のデータにアクセスして操作する必要があることがよくあります。

この記事が、Pythonを使用してテキストファイル内の文字列を見つけるのに役立つことを願っています。

ハッピーコーディング!