@@ -77,11 +77,10 @@ def open(store: StoreLike = None, mode: str = "a", **kwargs):
77
77
78
78
path = kwargs .get ('path' )
79
79
# handle polymorphic store arg
80
- clobber = mode == 'w'
81
80
# we pass storage options explicitly, since normalize_store_arg might construct
82
81
# a store if the input is a fsspec-compatible URL
83
82
_store : BaseStore = normalize_store_arg (
84
- store , clobber = clobber , storage_options = kwargs .pop ("storage_options" , {})
83
+ store , storage_options = kwargs .pop ("storage_options" , {}), mode = mode
85
84
)
86
85
path = normalize_storage_path (path )
87
86
@@ -142,7 +141,7 @@ def save_array(store: StoreLike, arr, **kwargs):
142
141
143
142
"""
144
143
may_need_closing = _might_close (store )
145
- _store : BaseStore = normalize_store_arg (store , clobber = True )
144
+ _store : BaseStore = normalize_store_arg (store , mode = "w" )
146
145
try :
147
146
_create_array (arr , store = _store , overwrite = True , ** kwargs )
148
147
finally :
@@ -213,7 +212,7 @@ def save_group(store: StoreLike, *args, **kwargs):
213
212
raise ValueError ('at least one array must be provided' )
214
213
# handle polymorphic store arg
215
214
may_need_closing = _might_close (store )
216
- _store : BaseStore = normalize_store_arg (store , clobber = True )
215
+ _store : BaseStore = normalize_store_arg (store , mode = "w" )
217
216
try :
218
217
grp = _create_group (_store , overwrite = True )
219
218
for i , arr in enumerate (args ):
@@ -1117,7 +1116,7 @@ def consolidate_metadata(store: StoreLike, metadata_key=".zmetadata"):
1117
1116
open_consolidated
1118
1117
1119
1118
"""
1120
- store = normalize_store_arg (store , clobber = True )
1119
+ store = normalize_store_arg (store , mode = "w" )
1121
1120
1122
1121
def is_zarr_key (key ):
1123
1122
return (key .endswith ('.zarray' ) or key .endswith ('.zgroup' ) or
@@ -1179,7 +1178,7 @@ def open_consolidated(store: StoreLike, metadata_key=".zmetadata", mode="r+", **
1179
1178
from .storage import ConsolidatedMetadataStore
1180
1179
1181
1180
# normalize parameters
1182
- store = normalize_store_arg (store , storage_options = kwargs .get ("storage_options" ))
1181
+ store = normalize_store_arg (store , storage_options = kwargs .get ("storage_options" ), mode = mode )
1183
1182
if mode not in {'r' , 'r+' }:
1184
1183
raise ValueError ("invalid mode, expected either 'r' or 'r+'; found {!r}"
1185
1184
.format (mode ))
0 commit comments