def __init__(self, columns=None, names=None, **kwargs): # Important optional params self._cparams = kwargs.get("cparams", bcolz.cparams()) self.rootdir = kwargs.get("rootdir", None) "The directory where this object is saved." if self.rootdir is None and columns is None: raise ValueError("For creating a new ctable you should pass a `columns` param") if os.path.exists(self.rootdir): self.mode = kwargs.setdefault("mode", "a") else: self.mode = kwargs.setdefault("mode", "w") "The mode in which the object is created/opened." # Setup the columns accessor self.cols = cols(self.rootdir, self.mode) "The ctable columns accessor." # The length counter of this array self.len = 0 # Create a new ctable or open it from disk if self.mode in ("r", "a"): self.open_ctable() _new = False elif columns is not None: self.create_ctable(columns, names, **kwargs) _new = True # Attach the attrs to this object self.attrs = attrs.attrs(self.rootdir, self.mode, _new=_new) # Cache a structured array of len 1 for ctable[int] acceleration self._arr1 = np.empty(shape=(1,), dtype=self.dtype)
def __init__(self, columns=None, names=None, **kwargs): # Important optional params self._cparams = kwargs.get('cparams', bcolz.cparams()) self.rootdir = kwargs.get('rootdir', None) if self.rootdir is not None: self.auto_flush = kwargs.pop('auto_flush', True) else: self.auto_flush = False # We actually need to pop it from the kwargs, so it doesn't get # passed down to the carray. try: kwargs.pop('auto_flush') except KeyError: pass "The directory where this object is saved." if self.rootdir is None and columns is None: raise ValueError( "You should pass either a `columns` or a `rootdir` param" " at very least") # The mode in which the object is created/opened if self.rootdir is not None and os.path.exists(self.rootdir): self.mode = kwargs.setdefault('mode', 'a') if columns is not None and self.mode == 'a': raise ValueError( "You cannot pass a `columns` param in 'a'ppend mode.\n" "(If you are trying to create a new ctable, perhaps the " "directory exists already.)") else: self.mode = kwargs.setdefault('mode', 'w') # Setup the columns accessor self.cols = cols(self.rootdir, self.mode) "The ctable columns accessor." # The length counter of this array self.len = 0 # Create a new ctable or open it from disk _new = False if self.mode in ('r', 'a'): self._open_ctable() elif columns is not None: self._create_ctable(columns, names, **kwargs) _new = True else: raise ValueError( "You cannot open a ctable in 'w'rite mode" " without a `columns` param") # Attach the attrs to this object self.attrs = attrs.attrs(self.rootdir, self.mode, _new=_new) # Cache a structured array of len 1 for ctable[int] acceleration self._arr1 = np.empty(shape=(1,), dtype=self.dtype)