code: def compile_file(self, filepath, write=True, package=False, *args, **kwargs):
          
          set_ext = False
          if write is False:
              destpath = None
          elif write is True:
              destpath = filepath
              set_ext = True
          elif os.path.splitext(write)[1]:
              # write is a file; it is the destination filepath
              destpath = write
          else:
              # write is a dir; make the destination filepath by adding the filename
              destpath = os.path.join(write, os.path.basename(filepath))
              set_ext = True
          if set_ext:
              base, ext = os.path.splitext(os.path.splitext(destpath)[0])
              if not ext:
                  ext = comp_ext
              destpath = fixpath(base + ext)
          if filepath == destpath:
              raise CoconutException("cannot compile " + showpath(filepath) + " to itself", extra="incorrect file extension")
          self.compile(filepath, destpath, package, *args, **kwargs)
          return destpath
docs: Compile a file and returns the compiled file's path.