# numpy.memmap.setflags

`memmap.``setflags`(write=None, align=None, uic=None)

  Set array flags WRITEABLE, ALIGNED, and UPDATEIFCOPY, respectively.

  These Boolean-valued flags affect how numpy interprets the memory area used by a (see Notes below). The ALIGNED flag can only be set to True if the data is actually aligned according to the type. The UPDATEIFCOPY flag can never be set to True. The flag WRITEABLE can only be set to True if the array owns its own memory, or the ultimate owner of the memory exposes a writeable buffer interface, or is a string. (The exception for string is made so that unpickling can be done without copying memory.)

  Parameters: | write : bool, optional Describes whether or not a can be written to. align : bool, optional Describes whether or not a is aligned properly for its type. uic : bool, optional Describes whether or not a is a copy of another “base” array.

  Notes

  Array flags provide information about how the memory area used for the array is to be interpreted. There are 6 Boolean flags in use, only three of which can be changed by the user: UPDATEIFCOPY, WRITEABLE, and ALIGNED.

  WRITEABLE (W) the data area can be written to;

  ALIGNED (A) the data and strides are aligned appropriately for the hardware (as determined by the compiler);

  UPDATEIFCOPY (U) this array is a copy of some other array (referenced by .base). When this array is deallocated, the base array will be updated with the contents of this array.

  All flags can be accessed using their first (upper case) letter as well as the full name.

  Examples

      >>> y
      array([[3, 1, 7],
             [2, 0, 0],
             [8, 5, 9]])
      >>> y.flags
        C_CONTIGUOUS : True
        F_CONTIGUOUS : False
        OWNDATA : True
        WRITEABLE : True
        ALIGNED : True
        UPDATEIFCOPY : False
      >>> y.setflags(write=0, align=0)
      >>> y.flags
        C_CONTIGUOUS : True
        F_CONTIGUOUS : False
        OWNDATA : True
        WRITEABLE : False
        ALIGNED : False
        UPDATEIFCOPY : False
      >>> y.setflags(uic=1)
      Traceback (most recent call last):
        File "<stdin>", line 1, in <module>
      ValueError: cannot set UPDATEIFCOPY flag to True