Thanks to all people for this very nice discussions.
the solutions are more that what I want!! and help me to clarify some concepts, and really begin to use class as a beginner :)
I would say either Olivier or denis's solution can solve my problem completely.
cheers,
Chao
as Olivier and Chris say, use a dict from the start.
To make this a bit easier / more readable,
use this tiny class Dotdict:
class Dotdict( dict ):
""" d = dotdict(), d.key same as d["key"] """
# aka Bag, Bunch
# cPickle.dumps( d, -1 ): PicklingError in 2.6.4
def __init__(self, **kwargs):
dict.__init__(self, kwargs)
self.__dict__ = self
d = Dotdict()
d.a = np.arange(10)
d.b = np.ones((3,4))
d.b[1,2] += 1
print d.b
One can also save all the d.* arrays like this:
def savedotdict( d, prefix="d.", save=np.savetxt, **kwargs ):
""" save all d.* to files """
for name, val in d.items():
out = prefix + name
if isinstance( val, basestring ):
with open( out, "w" ) as f:
f.write( val.rstrip() )
f.write( "\n" )
else:
print "saving %s to %s" % (val.shape, out)
save( out, val, **kwargs )
d.info = "2011-11-18 nov kilroy" # From()
savedotdict( d, "d.", fmt="%.3g" )
cheers
-- denis
(If you use this, could you post it to the numpy-discussion group
please ?
It rejects me, grr.)
On Nov 10, 11:17 am, Chao YUE <chaoyue...@gmail.com> wrote:
> Hi,
>
> Does anyone know how I can quickly use the name of a ndarray as a string?