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() 关闭了代码,还尝试在我的脚本中打印和打印到控制台。这将返回截断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 回答