Hi Alan, > Traceback (most recent call last): > File "/usr/local/lib/python2.5/site-packages/enthought.traits-2.0.4- > py2.5-linux-i686.egg/enthought/traits/trait_notifiers.py", line 325, > in call_1 > self.handler( object ) > File "TrimMapl_1.py", line 98, in _Run_fired > outdata = np.array(outdata, dtype=dtypes) > TypeError: expected a readable buffer object
This would make it appear that the problem is not with numpy per se, but with the traits library, or how you're using it... I'm not too familiar with traits, so I can't really provide any advice there. Can you disable whatever it is you're doing with traits for the time being, to see if that solves it? Maybe not have whatever notifier is presumably listening to outdata? Also, for the record, your inner loop could be rendered in more idiomatic python as: TYPICALLY_UINT_COLUMNS = set(['Track', 'Bin', 'code', 'horizon']) ...... dtypes = [] for var in self.var_list: if var in TYPICALLY_UINT_COLUMNS: dtypes.append(var, '<i8')) else : dtypes.append(var, '<f8')) or even: TYPICALLY_UINT_COLUMNS = set(['Track', 'Bin', 'code', 'horizon']) dtypes = [(var, '<i8' if var in TYPICALLY_UINT_COLUMNS else '<f8') for var in self.var_list] if you really want to break out the new ternary operator (py 2.5 and above). Not that it matters at all in this case, but (in addition to being easier to read and write) loops like the above will be much faster than the original code if you've got some larger parsing operations to do. (Also, note that the 'in' operator works on lists and tuples as well as sets and dicts, but for the former two, it's a linear search, while for the latter, a hash lookup.) Zach > TYPICALLY_UINT_COLUMNS = ['Track', 'Bin', 'code', 'horizon'] > ...... > dtypes = [ ] > for i in range(0, len(self.var_list)) : > if TYPICALLY_UINT_COLUMNS.count(self.var_list[i]) > 0: > dtypes.append((self.var_list[i], '<i8')) > else : > dtypes.append((self.var_list[i], '<f8')) > print "dtypes = ", dtypes > print outdata[0] > outdata = np.array(outdata, dtype=dtypes) _______________________________________________ Numpy-discussion mailing list Numpy-discussion@scipy.org http://projects.scipy.org/mailman/listinfo/numpy-discussion