code: def run_script(self, filename=None, silent=False, set_focus=False,
                     args=None):
          
          if filename is None:
              self.shell.interpreter.restore_stds()
              filename, _selfilter = getopenfilename(
                      self, _("Run Python script"), getcwd_or_home(),
                      _("Python scripts")+" (*.py ; *.pyw ; *.ipy)")
              self.shell.interpreter.redirect_stds()
              if filename:
                  os.chdir( osp.dirname(filename) )
                  filename = osp.basename(filename)
              else:
                  return
          logger.debug("Running script with %s", args)
          filename = osp.abspath(filename)
          rbs = remove_backslashes
          command = "runfile('%s', args='%s')" % (rbs(filename), rbs(args))
          if set_focus:
              self.shell.setFocus()
          if self.dockwidget and not self.ismaximized:
              self.dockwidget.setVisible(True)
              self.dockwidget.raise_()
          self.shell.write(command+'\n')
          self.shell.run_command(command)
docs: Run a Python script