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