<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def create_local_scope_from_def_args( self, call_args, def_args, line_number, saved_function_call_index ):
 """Create the local scope before entering the body of a function call. Args: call_args(list[ast.Name]):
 Of the call being made. def_args(ast_helper.Arguments):
 Of the definition being called. line_number(int):
 Of the def of the function call about to be entered into. saved_function_call_index(int):
 Unique number for each call. Note: We do not need a connect_if_allowed because of the preceding call to save_def_args_in_temp. """

        # Create e.g. def_arg1 = temp_N_def_arg1 for each argument
        for i in range(len(call_args)):
            def_arg_local_name = def_args[i]
            def_arg_temp_name = 'temp_' + str(saved_function_call_index) + '_' + def_args[i]
            local_scope_node = RestoreNode(
                def_arg_local_name + ' = ' + def_arg_temp_name,
                def_arg_local_name,
                [def_arg_temp_name],
                line_number=line_number,
                path=self.filenames[-1]
            )
            # Chain the local scope nodes together
            self.nodes[-1].connect(local_scope_node)
            self.nodes.append(local_scope_node)