code: def write(self, path, prog=None, format='raw', encoding=None):
          
          if prog is None:
              prog = self.prog
          if format == 'raw':
              s = self.to_string()
              if not PY3:
                  s = unicode(s)
              with io.open(path, mode='wt', encoding=encoding) as f:
                  f.write(s)
          else:
              s = self.create(prog, format, encoding=encoding)
              with io.open(path, mode='wb') as f:
                  f.write(s)
          return True
docs: Writes a graph to a file.
  
          Given a filename 'path' it will open/create and truncate
          such file and write on it a representation of the graph
          defined by the dot object in the format specified by
          'format' and using the encoding specified by `encoding` for text.
          The format 'raw' is used to dump the string representation
          of the Dot object, without further processing.
          The output can be processed by any of graphviz tools, defined
          in 'prog', which defaults to 'dot'
          Returns True or False according to the success of the write
          operation.
  
          There's also the preferred possibility of using:
  
              write_'format'(path, prog='program')
  
          which are automatically defined for all the supported formats.
          [write_ps(), write_gif(), write_dia(), ...]
  
          The encoding is passed to `open` [1].
  
          [1] https://docs.python.org/3/library/functions.html#open