Python: Запись выходных данных в текстовый файл, но текстовый файл не содержит всю строку и случайно усекается? - PullRequest
0 голосов
/ 17 января 2012

Я анализирую файл xls, используя Python, а затем преобразую эту информацию в 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 и распечатать на консоли в моем скрипте.Это возвращает как усеченные строки s, так и d.Тем не менее, когда я набираю точные команды в интерпретаторе отдельно, обе печатаются правильно.Кто-нибудь знает, что происходит с этим несоответствием?

1 Ответ

0 голосов
/ 17 января 2012

Попробуйте это:

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())    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...