code: def assignFtypeToPyFile(extension, args=(), mimetype=None, showTerminal=True):
      
      # WINDOWS
      if os.name == 'nt':
          if not isAdmin():
              raise Exception(
                  'need to have admin rights to connect a file extension to program')
  
          if getattr(sys, 'frozen', False):
              # in case we run from an executable e.g. created with pyinstaller:
              py_exec = sys.executable
          else:
              py_exec = sys.exec_prefix
              if showTerminal:
                  py_exec += '\\python.exe'
              else:
                  py_exec += '\\pythonw.exe'
  
          # associate extension witrh MIME type:
          os.system("assoc .%s=%s" % (extension, mimetype))
  
          if type(args) not in (tuple, list):
              args = (args,)
          if len(args) == 1:
              str_args = ''' "%s"''' % args[0]
          else:
              str_args = ""
              for a in args:
                  str_args += ''' "%s"''' % a
          # open MIME type with pyFile:
          os.system(
              """ftype %s="%s" %s""" %
              (mimetype, py_exec, str_args) + """ "%1" %*""")
      # LINUX
      # check the os to setup further procedures
      # elif os.name == 'posix': #for linux-systems
      #    self.__class__ = _LinuxOpenExtensionWith
  
      # MAC
      else:
          raise OSError(
              'creating start menu entries is not implemented for this OS at the moment')
docs: Connect a file extension to a python script
  
      Example:
      We created a python file that can open '.da' files
      The command we need to execute to open that is is:
      'python MY_PYTH_FILE.py -o MY_DA_FILE.da'
  
      To be able to open these files with a simple double click run:
  
      openExtensionWith(extension='da', args=('MY_PYTH_FILE.py', '-o'))
  
      OPTIONAL ARGUMENTS:
      args -> (...) additional arguments to be added after the pyFile
  
      mimetype (str) -> assign a MIMETYPE name to your file extension
          e.g. 'daFile'
  
  
      showTerminal (bool) -> True: open your program in a terminal