'load(filething, known_frames=None, translate=True, v2_version=4)
Load tags from a filename.
Args:
filename (filething): filename or file object to load tag data from
known_frames (Dict[`mutagen.text`, `Frame`]): dict mapping frame
IDs to Frame objects
translate (bool): Update all tags to ID3v2.3/4 internally. If you
intend to save, this must be true or you have to
call update_to_v23() / update_to_v24() manually.
v2_version (int): if update_to_v23 or update_to_v24 get called
(3 or 4)
Example of loading a custom frame::
my_frames = dict(mutagen.id3.Frames)
class XMYF(Frame): ...
my_frames["XMYF"] = XMYF
mutagen.id3.ID3(filename, known_frames=my_frames)'

@convert_error(IOError, error)
@loadfile()
def load(self, filething, known_frames=None, translate=True, v2_version=4):

    fileobj = filething.fileobj
    if (v2_version not in (3, 4)):
        raise ValueError('Only    3    and    4    possible    for    v2_version')
    self.unknown_frames = []
    self._header = None
    self._padding = 0
    self._pre_load_header(fileobj)
    try:
        self._header = ID3Header(fileobj)
    except (ID3NoHeaderError, ID3UnsupportedVersionError):
        (frames, offset) = find_id3v1(fileobj)
        if (frames is None):
            raise
        self.version = ID3Header._V11
        for v in frames.values():
            self.add(v)
    else:
        if (known_frames is not None):
            self._header._known_frames = known_frames
        data = read_full(fileobj, (self.size - 10))
        remaining_data = self._read(self._header, data)
        self._padding = len(remaining_data)
    if translate:
        if (v2_version == 3):
            self.update_to_v23()
        else:
            self.update_to_v24()
