code: def list_class_funcnames(fname, blank_pats=['    #']):
      
      with open(fname, 'r') as file_:
          lines = file_.readlines()
      funcname_list = []
  
      #full_line_ = ''
      for lx, line in enumerate(lines):
          #full_line_ += line
          if any([line.startswith(pat) for pat in blank_pats]):
              funcname_list.append('')
          if line.startswith('    def '):
              def_x    = line.find('def')
              rparen_x = line.find('(')
              funcname = line[(def_x + 3):rparen_x]
              #print(funcname)
              funcname_list.append(funcname)
      return funcname_list
docs: list_class_funcnames
  
      Args:
          fname (str): filepath
          blank_pats (list): defaults to '    #'
  
      Returns:
          list: funcname_list
  
      Example:
          >>> # DISABLE_DOCTEST
          >>> from utool.util_inspect import *  # NOQA
          >>> fname = 'util_class.py'
          >>> blank_pats = ['    #']
          >>> funcname_list = list_class_funcnames(fname, blank_pats)
          >>> print(funcname_list)