Вдовин Андрей Алексеевич 325 TarFile 14983
Файзуллов Айрат Рафагатович 530 группа TarFile 16641
f1import sysf1import sys
2import tarfile2import tarfile
3import io3import io
44
n5def hex_to_bytes(hex_str):n5def decode_hex_string(hex_string):
6    hex_str = hex_str.replace('\n', '').replace(' ', '')6    sanitized_hex = hex_string.replace('\n', '').replace(' ', '')
7    return bytes.fromhex(hex_str)7    return bytes.fromhex(sanitized_hex)
88
n9def extract_tar_info(dump_data):n9def analyze_tar(dump_content):
10    tar_data = io.BytesIO(dump_data)10    byte_stream = io.BytesIO(dump_content)
11    try:11    try:
n12        with tarfile.open(fileobj=tar_data, mode='r') as tar:n12        with tarfile.open(fileobj=byte_stream, mode='r') as archive:
13            file_count = 013            num_files = 0
14            total_size = 014            accumulated_size = 0
15            for member in tar.getmembers():15            for item in archive.getmembers():
16                if member.isreg():16                if item.isreg():
17                    file_count += 117                    num_files += 1
18                    total_size += member.size18                    accumulated_size += item.size
19            return (file_count, total_size)19            return (num_files, accumulated_size)
20    except Exception as e:20    except Exception as error:
21        print(f'Error: {e}')21        print(f'An error occurred: {error}')
22        return (0, 0)22        return (0, 0)
23if __name__ == '__main__':23if __name__ == '__main__':
t24    input_data = sys.stdin.read()t24    raw_input = sys.stdin.read()
25    dump_data = hex_to_bytes(input_data)25    decoded_data = decode_hex_string(raw_input)
26    file_count, total_size = extract_tar_info(dump_data)26    file_count, total_file_size = analyze_tar(decoded_data)
27    print(total_size, file_count)27    print(total_file_size, file_count)
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op