def run_profilers(run_object, prof_config, verbose=False):
if len(prof_config) > len(set(prof_config)):<EOL><INDENT>raise AmbiguousConfigurationError(<EOL>'<STR_LIT>' % prof_config)<EOL><DEDENT>available_profilers = {opt for opt, _ in _PROFILERS}<EOL>for option in prof_config:<EOL><INDENT>if option not in available_profilers:<EOL><INDENT>raise BadOptionError('<STR_LIT>' % option)<EOL><DEDENT><DEDENT>run_stats = OrderedDict()<EOL>present_profilers = ((o, p) for o, p in _PROFILERS if o in prof_config)<EOL>for option, prof in present_profilers:<EOL><INDENT>curr_profiler = prof(run_object)<EOL>if verbose:<EOL><INDENT>print('<STR_LIT>' % curr_profiler.__class__.__name__)<EOL><DEDENT>run_stats[option] = curr_profiler.run()<EOL><DEDENT>return run_stats<EOL>
Runs profilers on run_object.

    Args:
        run_object: An object (string or tuple) for profiling.
        prof_config: A string with profilers configuration.
        verbose: True if info about running profilers should be shown.
    Returns:
        An ordered dictionary with collected stats.
    Raises:
        AmbiguousConfigurationError: when prof_config is ambiguous.
        BadOptionError: when unknown options are present in configuration.