Python - 将符号表达式(sympy)写入txt文件

时间:2013-07-08 00:16:29

标签: python save expression sympy

将符号表达式写入txt文件的最佳方法是什么(这样我可以在读取txt文件后使用符号表达式)?

例如,是否存在类似于numpy的savetxt()函数的情感?

例如:

from sympy import Symbol
a=Symbol('a')
b=Symbol('b')

y=a+3*b

如何正确地书写和阅读?

2 个答案:

答案 0 :(得分:8)

SymPy中的

str(expr)应保存有关表达式的大部分信息。优点是它是人类可读的。从中加载的最佳方式是使用sympify(),而不是仅使用复制粘贴或eval,因为例如,str(Rational(1, 2))将提供1/2,这将评估直接到0.5

还有一个函数srepr()(SymPy的版本repr),它提供了更详细的输出。

有一点需要注意的是,目前都没有保存有关Symbols假设的信息(Symbol('x', real=True)),所以如果你需要,你应该使用像pickle或dill这样的东西。

答案 1 :(得分:3)

您可以使用pickle库将其存储到文件中(因为您可以保存大多数Python对象):

import pickle
with open("y.txt", "w") as outf:
    pickle.dump(y, outf)

稍后您将使用

加载它
with open("y.txt") as inf:
    y = pickle.load(inf)