Hi Matt,<div><br></div><div>Thanks! Using pickle with another file seems to work fine.</div><div><br></div><div>Best,</div><div>Andrew<br><br><div class="gmail_quote">On Mon, Jan 21, 2013 at 3:50 AM, Matthew Turk <span dir="ltr"><<a href="mailto:matthewturk@gmail.com" target="_blank">matthewturk@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Andrew,<br>
<br>
This looks to me like the pickle for your objects has a null<br>
terminated string.  It's possible the newest h5py could fix this, or<br>
that you could specify a string length when pickling to h5py, but the<br>
easier solution might be to pickle the object to a file by itself:<br>
<br>
import cPickle<br>
cPIckle.dump(obj, open("my_file.cpkl", "wb"), protocol=-1)<br>
<br>
Let us know if that works!<br>
<br>
-Matt<br>
<div><div class="h5"><br>
On Sun, Jan 20, 2013 at 12:48 PM, Andrew Myers <<a href="mailto:atmyers@berkeley.edu">atmyers@berkeley.edu</a>> wrote:<br>
> Dear yt users,<br>
><br>
> I've generated some clumps, and would like to save them to look at later.<br>
> When I try<br>
><br>
> pf.h.save_object(master_clump, 'Clumps')<br>
><br>
> I get the following error, which looks like it's coming fron hdf5. Has<br>
> anybody seen this before?<br>
><br>
> Thanks,<br>
> Andrew<br>
><br>
> ---------------------------------------------------------------------------<br>
> ValueError                                Traceback (most recent call last)<br>
> <ipython-input-13-0bda0f3d0b42> in <module>()<br>
> ----> 1 pf.h.save_object(master_clump, 'Clumps')<br>
><br>
> /indirect/o/atmyers/yt-x86_64/src/yt-hg/yt/data_objects/hierarchy.pyc in<br>
> save_object(self, obj, name)<br>
>     299         """<br>
>     300         s = cPickle.dumps(obj, protocol=-1)<br>
> --> 301         self.save_data(s, "/Objects", name, force = True)<br>
>     302<br>
>     303     def load_object(self, name):<br>
><br>
> /indirect/o/atmyers/yt-x86_64/src/yt-hg/yt/data_objects/hierarchy.pyc in<br>
> _save_data(self, array, node, name, set_attr, force, passthrough)<br>
>     274         for q in node.split('/'):<br>
>     275             if q: myGroup = myGroup.require_group(q)<br>
> --> 276         arr = myGroup.create_dataset(name,data=array)<br>
>     277         if set_attr is not None:<br>
>     278             for i, j in set_attr.items(): arr.attrs[i] = j<br>
><br>
> /o/atmyers/yt-x86_64/lib/python2.7/site-packages/h5py/_hl/group.pyc in<br>
> create_dataset(self, name, shape, dtype, data, **kwds)<br>
>      69         """<br>
>      70<br>
> ---> 71         dsid = dataset.make_new_dset(self, shape, dtype, data,<br>
> **kwds)<br>
>      72         dset = dataset.Dataset(dsid)<br>
>      73         if name is not None:<br>
><br>
> /o/atmyers/yt-x86_64/lib/python2.7/site-packages/h5py/_hl/dataset.pyc in<br>
> make_new_dset(parent, shape, dtype, data, chunks, compression, shuffle,<br>
> fletcher32, maxshape, compression_opts, fillvalue)<br>
>      92<br>
>      93     if data is not None:<br>
> ---> 94         dset_id.write(h5s.ALL, h5s.ALL, data)<br>
>      95<br>
>      96     return dset_id<br>
><br>
> /o/atmyers/yt-x86_64/lib/python2.7/site-packages/h5py/h5d.so in<br>
> h5py.h5d.DatasetID.write (h5py/h5d.c:2866)()<br>
><br>
> /o/atmyers/yt-x86_64/lib/python2.7/site-packages/h5py/_proxy.so in<br>
> h5py._proxy.dset_rw (h5py/_proxy.c:1766)()<br>
><br>
> /o/atmyers/yt-x86_64/lib/python2.7/site-packages/h5py/defs.so in<br>
> h5py.defs.H5Tconvert (h5py/defs.c:18439)()<br>
><br>
> /o/atmyers/yt-x86_64/lib/python2.7/site-packages/h5py/_errors.so in<br>
> h5py._errors.set_exception (h5py/_errors.c:711)()<br>
><br>
> /o/atmyers/yt-x86_64/lib/python2.7/site-packages/h5py/_conv.so in<br>
> h5py._conv.str2vlen (h5py/_conv.c:3382)()<br>
><br>
> /o/atmyers/yt-x86_64/lib/python2.7/site-packages/h5py/_conv.so in<br>
> h5py._conv.generic_converter (h5py/_conv.c:1302)()<br>
><br>
> /o/atmyers/yt-x86_64/lib/python2.7/site-packages/h5py/_conv.so in<br>
> h5py._conv.conv_str2vlen (h5py/_conv.c:2158)()<br>
><br>
> ValueError: VLEN strings do not support embedded NULLs<br>
><br>
><br>
><br>
><br>
</div></div>> _______________________________________________<br>
> yt-users mailing list<br>
> <a href="mailto:yt-users@lists.spacepope.org">yt-users@lists.spacepope.org</a><br>
> <a href="http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org" target="_blank">http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org</a><br>
><br>
_______________________________________________<br>
yt-users mailing list<br>
<a href="mailto:yt-users@lists.spacepope.org">yt-users@lists.spacepope.org</a><br>
<a href="http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org" target="_blank">http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org</a><br>
</blockquote></div><br></div>