2014年6月13日金曜日

Python | 指定した文字列を含む行とそれに続く複数行をまとめて削除する

このブログのメインテーマは、タイトルにもあるようにGoogle Apps Scriptなのですが、Pythonの勉強もしているため、時折Pythonの話題も入ります。

---以下スクリプト---

#!/usr/bin/env python
#-*- coding:utf-8 -*-

def deleteSecureNode():
    datafile = "C:\test\test.txt" # 架空のパスです
    savefile = "C:\test\test2.txt" # 架空のパスです"

    file = open(datafile,"r")
    file_out = open(savefile,"w")

    line_list = file.readlines()

    for number,line in enumerate(line_list):
        if line[0:12] == "SECURE/ NODE":
            del line_list[number:number+3]
            #del line_list[number+1]
            #del line_list[number+2]
            #del line_list[number+3]
        else:
            file_out.write(line)

    file.close()
    file_out.close()

deleteSecureNode()

---以上スクリプト---

enumerate()の使い方を知るまでと、del文で削除したい行を指定する方法にたどり着くまでに相当な時間を費やしてしまいました。

0 件のコメント:

コメントを投稿

SyntaxHighlighter