code: def attach(self, num_name, write=0):
          
  
          mode = write and 'w' or 'r'
          if isinstance(num_name, str):
              num = self.find(num_name)
          else:
              num = num_name
          vd = _C.VSattach(self._hdf_inst._id, num, mode)
          if vd < 0:
              _checkErr('attach', vd, 'cannot attach vdata')
          return VD(self, vd)
docs: Locate an existing vdata or create a new vdata in the HDF file,
          returning a VD instance.
  
          Args::
  
            num_name  Name or reference number of the vdata. An existing vdata
                      can be specified either through its reference number or
                      its name. Use -1 to create a new vdata.
                      Note that uniqueness is not imposed on vdatas names,
                      whereas refnums are guaranteed to be unique. Thus
                      knowledge of its reference number may be the only way
                      to get at a wanted vdata.
  
            write     Set to 0 to open the vdata in read-only mode,
                      set to 1 to open it in write mode
  
  
          Returns::
  
            VD instance representing the vdata
  
          C library equivalent : VSattach
  
          After creating a new vdata (num_name == -1), fields must be
          defined using method fdefine() of the VD instance, and those
          fields must be allocated to the vdata with method setfields().
          Same results can be achieved, but more simply, by calling the
          create() method of the VS instance.