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 を使用