code: def full_path(startPath, files):
      """Make full paths for all the listed files, based on startPath.
  
      Only the base part of startPath is kept, since this routine is typically
      used with a script's ``__file__`` variable as startPath. The base of startPath
      is then prepended to all the listed files, forming the output list.
  
      Parameters
      ----------
      startPath : string
        Initial path to use as the base for the results.  This path is split
        using os.path.split() and only its first component is kept.
  
      files : string or list
        One or more files.
  
      Examples
      --------
  
      >>> full_path('/foo/bar.py',['a.txt','b.txt'])
      ['/foo/a.txt', '/foo/b.txt']
  
      >>> full_path('/foo',['a.txt','b.txt'])
      ['/a.txt', '/b.txt']
  
      If a single file is given, the output is still a list::
  
          >>> full_path('/foo','a.txt')
          ['/a.txt']
      """
  
      files = list_strings(files)
      base = os.path.split(startPath)[0]
      return [os.path.join(base, f) for f in files]
  
imports: from __future__ import absolute_import
  import os
  import re
  import sys
  import tempfile
  from contextlib import contextmanager
  from io import StringIO
  from subprocess import Popen, PIPE
  from traitlets.config.loader import Config
  from IPython.utils.process import get_output_error_code
  from IPython.utils.text import list_strings
  from IPython.utils.io import temp_pyfile, Tee
  from IPython.utils import py3compat
  from IPython.utils.encoding import DEFAULT_ENCODING
  from .None import decorators
  from .None import skipdoctest
label_desc: Use image node_id 1 for calling a global function with example usage: full_path(startPath, files) and returns: unknown