@@ -152,15 +152,15 @@ def _apply_op(op, arg, arr):
152152 return f (arg ) if arg is not None else f ()
153153
154154
155- def _memmap_flat (path , dtype = None , n_channels = None , offset = 0 ):
155+ def _memmap_flat (path , dtype = None , n_channels = None , offset = 0 , mode = 'r+' ):
156156 path = Path (path )
157157 # Find the number of samples.
158158 assert n_channels > 0
159159 fsize = path .stat ().st_size
160160 item_size = np .dtype (dtype ).itemsize
161161 n_samples = (fsize - offset ) // (item_size * n_channels )
162162 shape = (n_samples , n_channels )
163- return np .memmap (path , dtype = dtype , offset = offset , shape = shape )
163+ return np .memmap (path , dtype = dtype , offset = offset , shape = shape , mode = mode )
164164
165165
166166#------------------------------------------------------------------------------
@@ -303,7 +303,8 @@ def iter_chunks(self, cache=True):
303303
304304
305305class FlatEphysReader (BaseEphysReader ):
306- def __init__ (self , paths , sample_rate = None , dtype = None , offset = 0 , n_channels = None , ** kwargs ):
306+ def __init__ (self , paths , sample_rate = None , dtype = None , offset = 0 , n_channels = None , mode = 'r+' ,
307+ ** kwargs ):
307308 super (FlatEphysReader , self ).__init__ ()
308309 if isinstance (paths , (str , Path )):
309310 paths = [paths ]
@@ -312,7 +313,7 @@ def __init__(self, paths, sample_rate=None, dtype=None, offset=0, n_channels=Non
312313 self .name = paths [0 ].stem
313314 self .dir_path = paths [0 ].parent
314315 self ._mmaps = [
315- _memmap_flat (path , dtype = dtype , n_channels = n_channels , offset = offset )
316+ _memmap_flat (path , dtype = dtype , n_channels = n_channels , offset = offset , mode = mode )
316317 for path in paths ]
317318
318319 self .sample_rate = sample_rate
0 commit comments