<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def experiments_fmri_create(self, experiment_id, filename):
 """Create functional data object from given file and associate the object with the specified experiment. Parameters experiment_id : string Unique experiment identifier filename : File-type object Functional data file Returns ------- FMRIDataHandle Handle for created fMRI object or None if identified experiment is unknown """

        # Get the experiment to ensure that it exist before we even create the
        # functional data object
        experiment = self.experiments_get(experiment_id)
        if experiment is None:
            return None
        # Create functional data object from given file
        fmri = self.funcdata.create_object(filename)
        # Update experiment to associate it with created fMRI object. Assign
        # result to experiment. Should the experiment have been deleted in
        # parallel the result will be None
        experiment = self.experiments.update_fmri_data(experiment_id, fmri.identifier)
        if experiment is None:
            # Delete fMRI object's data directory
            shutil.rmtree(fmri.directory)
            # Delete functional data object from databases
            self.funcdata.delete_object(fmri.identifier, erase=True)
            return None
        else:
            return funcdata.FMRIDataHandle(fmri, experiment_id)