Python 'tarfile' 模块无法处理 tar 文件中的非 utf-8 文件名

Python 'tarfile' module unable to handle non utf-8 filenames in tar file

我正在使用 Python 2.7 和 'tarfile' 模块,我正在处理的 tar 文件的文件名不是 unicode,并且 'tarfile' 模块出错。如何告诉 'tarfile' 模型忽略错误?下面的代码给我错误:

UnicodeDecodeError: 'utf8' codec can't decode byte 0xa2 in position 5: invalid start byte
if tar_flag:
    tar_obj = tarfile.open(infile, 'r', encoding='utf-8', errors='surrogateescape')
    try:
        member_list = tar_obj.getmembers()
        for member in member_list:
            if member.isfile():
                if member.name.lower().endswith('.exe'):
                    tar_obj.extract(member.name, path='/home/tar/')
                    print 'extracting {}'.format(member.name)
    except Exception as err:
        print err

Python 2.x 不支持 UTF,所以我切换到 Python 3 并且成功了。