2015年11月10日火曜日

Windowsダイアログを使って編集するファイルを指定する方法2 | Python

テキストファイルの指定行頭に"$"を追記し、指定外の行はオリジナルのまま別ファイルに書き出すことを考えます。"$"をつけた行は読み込まれなくなるものとして、関数名はcommnetOutとしています。

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

import win32ui
import os.path

# Windowsダイアログを作ります
o = win32ui.CreateFileDialog( 1, ".inc", "", 0, "Text Files (*.inc)|*.inc|All Files (*.*)|*.*|")
o.DoModal()

# ダイアログで指定したファイルのパスを取得して変数inFileに割り当てます
inFile = o.GetPathName()

def commentOut():

    try:
        # ファイルの保存先とファイル名を指定するダイアログを作ります
        o = win32ui.CreateFileDialog( 1, ".inc", "", 0, "Text Files (*.inc)|*.inc|All Files (*.*)|*.*|")
        o.DoModal()
        # ファイル保存先のパスを取得して変数outFileに割り当てます
        outFile = o.GetPathName()

        fin = open(inFile,"r")
        line_list = fin.readlines()

        fout = open(outFile,"w")

        #コメントアウトしたいスタート行番号を指定します
        start_line = 646189
         #コメントアウトしたい最終行番号を指定します
        end_line = 652848

        #読み込んだテキストファイル全行が入ったリストの最初から最後まで繰り返します
        for index,line in enumerate(line_list):
            if start_line-2 < index < end_line:
                fout.write("$" + line)
            else:
                fout.write(line)

        fout.close()
        fin.close()

    except:
        pass

    finally:
        pass

if __name__ == "__main__":
    commentOut()

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

以前の投稿で書いたWindowsダイアログの作り方とは別の書き方となっていますが、操作結果は同じようなものになります。

0 件のコメント:

コメントを投稿

SyntaxHighlighter