Symphy模块中python代码中的PicklingError
我写了下面的代码,但我得到了一个酸洗错误。我不知道是什么错误Symphy模块中python代码中的PicklingError,python,pickle,sympy,Python,Pickle,Sympy,我写了下面的代码,但我得到了一个酸洗错误。我不知道是什么错误 x = Symbol('x') y = Symbol('y') f = Function('f')(x) h = Function('h')(x) g = Function('g')(y) t = Function('t')(y) X1 = f + g X2 = h * t E = 1 + (f.diff(x)) ** 2 + (f.diff(x) * g)
x = Symbol('x')
y = Symbol('y')
f = Function('f')(x)
h = Function('h')(x)
g = Function('g')(y)
t = Function('t')(y)
X1 = f + g
X2 = h * t
E = 1 + (f.diff(x)) ** 2 + (f.diff(x) * g) ** 2
F = f.diff(x) * g.diff(y) + f.diff(x) * g.diff(y) * f * g
G = 1 + (g.diff(y)) ** 2 + (f * g.diff(y)) ** 2
MainD = 2 * (E * G - F ** 2)
with open('M.pickle', 'wb') as outf:
outf.write(pickle.dumps(MainD))
我收到以下错误消息:
Can not pickle f: it is not the same object as _main_ .f
pickle
甚至dill
中没有人与Sympy
完全兼容。但是,您可以将输出转换为字符串,然后从txt文件写入/读取。以下是基于您的代码的示例
Str_MainD = str(MainD)
with open('M.py', 'w') as file:
file.write(Str_MainD)
现在
with open('M.py', 'r') as file:
Read_From_File = file.read()
您可以在另一个脚本中读取它(如果第二个脚本由一些
Simpy
代码操纵,请改用eval(file.read())
) 请说明您遇到的Pickling错误类型。提供错误跟踪也有助于发现问题。@Mani我添加了错误。