Index > N2基本プログラムデータ(.nn5)を python で読む
Tue, June 2, 2009

N2基本プログラムデータ(.nn5)を python で読む

N2基本プログラムで作成したデータを pythonを使ってデータを読むためのコード。

基本プログラムで作成したデータの二次利用に便利。

NN5 読み出しツール

readnn5.py

import sys


def recoverLineBreak( str ):

    r=''
    chars=list(str)

    have_to_skip=False
    for i in range( len(chars) ) :
        if have_to_skip:
            have_to_skip=False
            continue

        j=i+1
        if j<len(chars) :
            if chars[i]==chr(1) and chars[j]==chr(1) :
                r = r+ '\n'
                have_to_skip=True
                continue

        r = r+ chars[i]

    return r




nn5filename=sys.argv[1]
f=open(nn5filename,'r')
lines=f.readlines() 
for i in range( len(lines) ) :

    line=lines[i]

    if line[0]==chr(1) and line[1]==chr(1) :
        code=lines[i+1]
        print "Code:"+code[:-2]

        text= recoverLineBreak( lines[i+2] )
        print "--------------"
        #print text[:-2]
        print unicode( text[:-2] , 'shift_jis' )
        print "--------------"

f.close()

テキスト部分に改行があった場合は、chr(1)+char(1) の形に変換して保存されている。 そのため、読み出すときに char(1)+char(1) を見つけたら、改行に戻す(変換する)必要がある。

使い方

N2基本プログラムで作成したデータ foo.nn5 として、 六角形内のテキストを出力します。

$ python readnn5.py foo.nn5

※Python 2.5.2 を使用

 Twitter
follow me on Twitter
 Categories