docstr: :param profile: Either a string representing a filename,
      a file like object containing a profile or a
      low-level profile object
docstr_tok: [":","param","profile",":","Either","a","string","representing","a","filename",",","a","file","like","object","containing","a","profile","or","a","low-level","profile","object"]
code: def __init__(self, profile):
      """
      :param profile: Either a string representing a filename,
          a file like object containing a profile or a
          low-level profile object
  
      """
  
      if isStringType(profile):
          self._set(core.profile_open(profile), profile)
      elif hasattr(profile, "read"):
          self._set(core.profile_frombytes(profile.read()))
      elif isinstance(profile, _imagingcms.CmsProfile):
          self._set(profile)
      else:
          raise TypeError("Invalid type for Profile")
  
imports: from __future__ import print_function
  import sys
  from PIL import Image
  from PIL._util import isStringType
label_desc: Use image node_id 1 to create a new ImageCmsProfile object from inherited base classes: object with example: obj = ImageCmsProfile(profile)