ここでは、Pythonにおける「.txt」拡張子から任意の文字列をfind()メソッドを用いて探索するプログラムを紹介しています。
この記事の対象
txtファイルの準備
予めtxtファイルを準備しておきます。ここでは「Fibonacci数」の文字列から任意の文字列を出力するプログラムになります。
![](https://www.hobby-happymylife.com/wp-content/uploads/2020/11/fib_kensaku.png)
プログラム
#1---検索文字列
kensaku = str(610)
#2---file open
with open("fib.txt",encoding="utf-8") as fib_ken:
#3---行探索
for i, line_num in enumerate(fib_ken):
if line_num.find(kensaku) >= 0:
print(i+1,"---",line_num)
#出力結果:「15 --- #610」
それでは解説していきます。
#1---検索文字列
kensaku = str(610)
1の部分では検索する文字列(610)を指定しています。
#2---file open
with open("fib.txt",encoding="utf-8") as fib_ken:
2の部分では、with構文で任意のファイルを開いています。
#3---行探索
for i, line_num in enumerate(fib_ken):
if line_num.find(kensaku) >= 0:
print(i+1,"---",line_num)
3の部分では、for構文でenumerate()関数を用いて行番号の取得と要素の値を得ています。if構文ではkensakuに合致したら出力しています。
【結果】
15 --- #610
おすすめの書籍
- 黄金比
- 数式図鑑
- 面白くてやみつきになる! 文系も超ハマる数学 (青春新書プレイブックス)