def split_dict(dic, *keys):
    """Return two copies of the dict.  The first will contain only the
    specified items.  The second will contain all the *other* items from the
    original dict.

    Example::

        >>> split_dict({"From": "F", "To": "T", "Received", R"}, "To", "From") 
        ({"From": "F", "To": "T"}, {"Received": "R"})
    """
    for k in keys:
        if k not in dic:
            raise KeyError("key {!r} is not in original mapping".format(k))
    r1 = {}
    r2 = {}
    for k, v in dic.items():
        if k in keys:
            r1[k] = v
        else:
            r2[k] = v
    return r1, r2