code: def create_file(self, file_path, st_mode=S_IFREG | PERM_DEF_FILE,
                      contents='', st_size=None, create_missing_dirs=True,
                      apply_umask=False, encoding=None, errors=None,
                      side_effect=None):
          
          return self.create_file_internally(
              file_path, st_mode, contents, st_size, create_missing_dirs,
              apply_umask, encoding, errors, side_effect=side_effect)
docs: Create `file_path`, including all the parent directories along
          the way.
  
          This helper method can be used to set up tests more easily.
  
          Args:
              file_path: The path to the file to create.
              st_mode: The stat constant representing the file type.
              contents: the contents of the file. If not given and st_size is
                  None, an empty file is assumed.
              st_size: file size; only valid if contents not given. If given,
                  the file is considered to be in "large file mode" and trying
                  to read from or write to the file will result in an exception.
              create_missing_dirs: If `True`, auto create missing directories.
              apply_umask: `True` if the current umask must be applied
                  on `st_mode`.
              encoding: If `contents` is a unicode string, the encoding used
                  for serialization.
              errors: The error mode used for encoding/decoding errors.
              side_effect: function handle that is executed when file is written,
                  must accept the file object as an argument.
  
          Returns:
              The newly created FakeFile object.
  
          Raises:
              IOError: if the file already exists.
              IOError: if the containing directory is required and missing.