# save definitions

 0 Hello, I want to use save a definition in the interactive shell. For example, I define sage: def F(m): ....: return 2*m ....:  I put sage: save(F,'function')  but it doesn't work. How can I do to save this definition and then load to work with it. Thanks.-. asked Mar 16 '12 emiliocba 45 ● 6 This looks like a duplicate of http://ask.sagemath.org/question/1229/how-to-save-a-function-in-sageniles (Mar 16 '12)

 2 Saving functions is a general problem with Python (and Python is Sage's language). But Sage provides a partial solution in the modules sage.misc.fpickle. That module contains a function pickle_function, that translates a given function into a string (and then you can save the string). And it also contains a function unpickle_function, that translates that string into a function. Example: sage: from sage.misc.fpickle import pickle_function, unpickle_function sage: def my_func(x): return x^2 ....: sage: tmp = tmp_filename() sage: save(pickle_function(my_func), tmp) sage: recovered_function = unpickle_function(load(tmp)) sage: recovered_function(5) 25  pickle_function does have limitations (as explained in the docs), but perhaps it is enough for your application? posted Mar 16 '12 Simon King 376 ● 2 ● 11

[hide preview]

## Stats:

Asked: Mar 16 '12

Seen: 52 times

Last updated: Mar 16 '12