-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmodule_6_ass_13-14.py
More file actions
35 lines (28 loc) · 2.12 KB
/
module_6_ass_13-14.py
File metadata and controls
35 lines (28 loc) · 2.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#Реалізуйте функцію create_archive(path, file_name, employee_residence)
#Де:
""" path — шлях до файлу
file_name — ім'я файлу
employee_residence — словник, у якому ключ — ім'я користувача, а значення — країна проживання. Вигляд: {'Michael': 'Canada', 'John':'USA', 'Liza': 'Australia'}
Функція повинна працювати так:
Створювати бінарний файл file_name за шляхом path
Зберігати дані словника employee_residence у файл, де кожен новий рядок — це ключ значення через пробіл як "Michael Canada"
Архівувати теку по шляху path за допомогою shutil
Ім'я архіву має бути 'backup_folder.zip'
Функція має повернути рядок шляху до архіву 'backup_folder.zip'
Вимоги:
запишіть вміст словника employee_residence у бінарний файл з ім'ям file_name у теку path за допомогою оператора with.
використовуйте символ /, щоб розділити шлях для path та file_name
вигляд рядка файлу — Michael Canada, в кінці кожного рядка додається перенесення рядка '\n'.
при збереженні кожен рядок файлу кодується методом encode
при записі рядків використовуємо лише метод write
архів має бути у форматі zip з ім'ям 'backup_folder', створений за допомогою make_archive. """
import shutil
def create_backup(path, file_name, employee_residence):
with open(path+'/'+file_name, 'wb') as writer:
line = ''
for key, value in employee_residence.items():
line = f"{key} {value}\n"
coded_line = line.encode('utf8')
writer.write(coded_line)
path = shutil.make_archive('backup_folder', 'zip', path)
return path