class_docstr: Maintain experiment list
class_docstr_tok: ["Maintain","experiment","list"]
docstr: Update experiment
docstr_tok: ["Update","experiment"]
code: def update_experiment(self, expId, key, value):
      """Update experiment"""
      with self.lock:
          self.experiments = self.read_file()
          if expId not in self.experiments:
              return False
          if value is None:
              self.experiments[expId].pop(key, None)
          else:
              self.experiments[expId][key] = value
          self.write_file()
          return True
  
file_path: nni/nni/tools/nnictl/config_utils.py
imports: import os
  import sqlite3
  import nni
  from .constants import NNI_HOME_DIR
  from .common_utils import get_file_lock
label_desc: Use image node_id 3 for calling the Experiments obj's underlying member method code with example usage: obj.update_experiment(expId, key, value) and returns: True, False