{"record":{"id":"1d1e9da4bc559577","repo":"numpy/numpy","slug":"mode-must-be-one-of-all-modes-r-got-mode-r","errorCode":null,"errorMessage":"mode must be one of {all_modes!r} (got {mode!r})","messagePattern":"mode must be one of (.+?) \\(got (.+?)\\)","errorType":"exception","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"numpy/_core/memmap.py","lineNumber":225,"sourceCode":"    >>> fpo = np.memmap(filename, dtype=np.float32, mode='r', offset=16)\n    >>> fpo\n    memmap([  4.,   5.,   6.,   7.,   8.,   9.,  10.,  11.], dtype=float32)\n\n    \"\"\"\n\n    __array_priority__ = -100.0\n\n    def __new__(cls, filename, dtype=uint8, mode='r+', offset=0,\n                shape=None, order='C'):\n        # Import here to minimize 'import numpy' overhead\n        import mmap\n        import os.path\n        try:\n            mode = mode_equivalents[mode]\n        except KeyError as e:\n            if mode not in valid_filemodes:\n                all_modes = valid_filemodes + list(mode_equivalents.keys())\n                raise ValueError(\n                    f\"mode must be one of {all_modes!r} (got {mode!r})\"\n                ) from None\n\n        if mode == 'w+' and shape is None:\n            raise ValueError(\"shape must be given if mode == 'w+'\")\n\n        if hasattr(filename, 'read'):\n            f_ctx = nullcontext(filename)\n        else:\n            f_ctx = open(\n                os.fspath(filename),\n                ('r' if mode == 'c' else mode) + 'b'\n            )\n\n        with f_ctx as fid:\n            fid.seek(0, 2)\n            flen = fid.tell()\n            descr = dtypedescr(dtype)","sourceCodeStart":207,"sourceCodeEnd":243,"githubUrl":"https://github.com/numpy/numpy/blob/e117b3ca4edacf581f440dccfd7f3242f0312afa/numpy/_core/memmap.py#L207-L243","documentation":"Error \"mode must be one of {all_modes!r} (got {mode!r})\" thrown in numpy/numpy.","triggerScenarios":"Passing an invalid mode string such as 'w' or 'a' to np.memmap.","commonSituations":"Assuming memmap accepts built-in open() modes like 'w' or 'rb'.","solutions":["Use one of the valid modes: 'r', 'r+', 'w+', or 'c', e.g. np.memmap('f.dat', dtype='float64', mode='r', shape=(3,4))."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"analyzedSha":"e117b3ca4edacf581f440dccfd7f3242f0312afa","analyzedAt":"2026-08-07T01:25:31.049Z","schemaVersion":2},"datasetVersion":"2026-08-07T03:17:09.362Z"}