Как насчет следующего. capture
захватывает все, что напечатано. В этом случае я использую pprint
, чтобы напечатать выражение, которое я хочу записать в файл. Есть множество опций, которые вы можете использовать с pprint
(включая перенос, который вы можете установить в False). Качество вывода будет зависеть от используемых вами шрифтов. Я вообще этого не делаю, поэтому у меня нет намеков на это.
from pprint import pprint
from sympy.utilities.iterables import capture
from sympy.abc import x
from sympy import Integral
with open('out.doc','w',encoding='utf-8') as f:
f.write(capture(lambda:pprint(Integral(x**2, (x, 1, 3)))))
Когда я дважды щелкаю (в Windows) на файле out.do c, Появляется слово с интегралом }