code: def do_ls(self, params):
          
          watcher = lambda evt: self.show_output(str(evt))
          kwargs = {"watch": watcher} if params.watch else {}
          znodes = self._zk.get_children(params.path, **kwargs)
          self.show_output(params.sep.join(sorted(znodes)))
docs: \x1b[1mNAME\x1b[0m
          ls - Lists the znodes for the given <path>
  
  \x1b[1mSYNOPSIS\x1b[0m
          ls <path> [watch] [sep]
  
  \x1b[1mOPTIONS\x1b[0m
          * watch: set a (child) watch on the path (default: false)
          * sep: separator to be used (default: '\\n')
  
  \x1b[1mEXAMPLES\x1b[0m
          > ls /
          configs
          zookeeper
  
          Setting a watch:
  
          > ls / true
          configs
          zookeeper
  
          > create /foo 'bar'
          WatchedEvent(type='CHILD', state='CONNECTED', path=u'/')
  
          > ls / false ,
          configs,zookeeper