素人Tips
Pythonで読み込んだファイルを処理する場合、検索した行の下の行を取得したい時が、たまーにあります。簡単な書き方でやってみました。
"cc3"の一行下、"dd4"を取得しています。
[ファイル名:sample]
1 2 3 4 5 6 7 |
[text] aa11 bb22 cc33 dd44 ee55 [/text] |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
[py] #!/usr/bin/env python import sys ifile = sys.argv[1] num_under_line = 1 # 取得する行数(何行下か) flag_getline = 0 cnt = 0 for line in open(ifile).readlines(): if line.find("cc33") &amp;amp;gt;= 0: flag_getline = 1 cnt += 1 elif (flag_getline == 1) &amp;amp;amp; (cnt == num_under_line): print (line,end="") flag_getline = 0 cnt = 0 elif (flag_getline == 1): cnt += 1</pre> <pre>[/py] |
1 2 3 |
[text] dd44 [/text] |