0

Pythonを使用してxlsファイルを解析し、その情報をSBML(XMLのバージョン)に変換しています。

from mod2sbml import Parser

s = open('sbmltest3.mod', 'r').read()
p = Parser()
d = p.parse(s)

outfile2 = open('sbmlconvert.xml', 'w')
print >> outfile2, d.toSBML()
outfile2.close()

これはかなり長いファイル(> 3000行)であり、.xmlを開くと、文字列は1400または3000行前後でランダムに切り捨てられます。ただし、:print d.toSBML() と入力してこの文字列をコンソールに出力すると、文字列は切り捨てられず、解析された文字列の終わりを確認できます。

ここで何が問題になる可能性がありますか?

編集:問題をさらに詳しく分析するために、outfile2.close()を使用してコードを閉じ、スクリプトでsを出力してコンソールに出力しようとしました。これにより、切り捨てられた文字列sd文字列の両方が返されます。ただし、正確なコマンドをインタプリタに個別に入力すると、両方とも正しく印刷されます。誰もがこの不一致で何が起こっているのか知っていますか?

4

1 に答える 1

0

これを試して:

from mod2sbml import Parser    
p = Parser()    

with open('sbmlconvert.xml', 'w') as of:   
    s = open('sbmltest3.mod', 'r').read()    
    d = p.parse(s)
    of.write(d.toSBML())    
于 2012-01-17T05:44:13.920 に答える