class_docstr: Base nipype config class
class_docstr_tok: ["Base","nipype","config","class"]
docstr: Store config file
docstr_tok: ["Store","config","file"]
code: def save_data(self, key, value):
      """Store config file"""
      datadict = {}
      if os.path.exists(self.data_file):
          with SoftFileLock("%s.lock" % self.data_file):
              with open(self.data_file) as file:
                  datadict = load(file)
      else:
          dirname = os.path.dirname(self.data_file)
          if not os.path.exists(dirname):
              mkdir_p(dirname)
      with SoftFileLock("%s.lock" % self.data_file):
          with open(self.data_file, "w") as file:
              datadict[key] = value
              dump(datadict, file)
  
imports: import os
  import sys
  import errno
  import atexit
  from warnings import warn
  from looseversion import LooseVersion
  import configparser
  import numpy
  from simplejson import load, dump
  from .misc import str2bool
  from filelock import SoftFileLock
label_desc: Use image node_id 12 for calling the NipypeConfig obj's underlying member method code with example usage: obj.save_data(key, value) without return types