Re: Alternative to DumpSave
- To: mathgroup at smc.vnet.net
- Subject: [mg116921] Re: Alternative to DumpSave
- From: James Stein <mathgroup at stein.org>
- Date: Fri, 4 Mar 2011 03:41:10 -0500 (EST)
It's a bit tedious, but you can build up strings to define each variable from scratch, concatenate them (with line feeds for legibility), then export them to a notebook. For example, for a single variable, something like this: s = ToString[var1] <> "[" <> descriptor <> "]={" <> ToString[something] <> "};\n"; Export[sj, filename"]; where the final 'sj' would be a StringJoin of a bunch of similar strings like 's'. Details will vary according to your application. It may help to have a list of your descriptors, so that building the set of strings could be done via Map or in a loop. (From your description, I assume that variables such as 'var1', shorn of the "["descriptor"]", are not defined, so that ToString[var1] will yield the string "var1"; if this is not the case, that's just one more detail to change.) What you lose in file size expansion you gain in legibility and cross-platform workability. Such files can also be automatically loaded, evaluated, and closed from another notebook. On Thu, Mar 3, 2011 at 2:59 AM, Thomas Muench <thomas.muench at gmail.com>wrote: > Dear Mathgroup, > > Can anybody suggest an elegant alternative to the DumpSave[] command? > I like DumpSave because it gives a compact (=small file size) > representation of variables and their definitions. However, the format > is not portable across systems. For example, I cannot load the > DumpSave-ed data from a Win-XP system into a Win-7-64bit system. > > To describe the problem more explicitely: I have created data in a > lengthy computation that is saved in a couple of variables. These > variables each have relatively complex definitions, for example many > variations of var1["descriptor"]={something}. I then save the > definitions of these variables with DumpSave like that: > DumpSave["filename.mx",{var1,var2,var3}]; > In a later session, I can re-load them with Get["filename.mx"], which > works wonderfully and amazingly fast. > > How can I achieve something equivalent accross systems? > > This in in Mathematica 8. > > Thank you! > thomas >