diff options
Diffstat (limited to 'day1')
| -rw-r--r-- | day1/task4/task4.py | 61 |
1 files changed, 41 insertions, 20 deletions
diff --git a/day1/task4/task4.py b/day1/task4/task4.py index 0fcf928..2583cb4 100644 --- a/day1/task4/task4.py +++ b/day1/task4/task4.py @@ -5,26 +5,47 @@ import os html_path = os.path.join(os.getcwd(), 'task4_data.html') -if os.access(html_path, os.R_OK): - with open(html_path) as f: - data = f.read() - - # Не знаю зачем, но в задании так написано +folder_path = '' + +# Не знаю зачем, но в задании так написано +try: + os.mkdir('../htmls') + folder_path = '../htmls' +except PermissionError: + print('Директория на уровень выше не доступна для записи.') + print('Создаем папку в текущей директории...') try: - os.mkdir('../htmls') - os.chdir('../htmls') + os.mkdir('htmls') + folder_path = 'htmls' except PermissionError: - print('Директория на уровень выше не доступна для записи.') - print('Создаем папку в текущей директории...') - try: - os.mkdir('htmls') - except PermissionError: - print('Текущая директория не доступна для записи. Завершаем работу...') - quit() + print('Текущая директория не доступна для записи. Завершаем работу...') + quit() + +try: + html_file = open(html_path) + os.chdir(folder_path) + ascii_file = open('ascii_cleared.html', 'w', encoding='utf-8') + body_file = open('body_cleared.html', 'w', encoding='utf-8') + +except FileNotFoundError as e: + exception_path = str(e).strip('[Errno 2] No such file or directory:')[1:-1] + print(f'"{exception_path}" не существует') + +except PermissionError as e: + exception_path = str(e).strip('[Errno 13] Permission denied:')[1:-1] + print(f'Файл "{exception_path}" не доступен для чтения/записи') + +except IsADirectoryError as e: + exception_path = str(e).strip('[Errno 21] Is a directory:')[1:-1] + print(f'"{exception_path}" является директорией') + +else: + data = html_file.read() cleared_data = ''.join(filter(lambda char: char in string.printable, data)) - with open('ascii_cleared.html', 'w', encoding='utf-8') as f: - f.write(cleared_data) + ascii_file.write(cleared_data) + + ################### body_cleared = re.sub( r'<BODY>(.|\n)*?</BODY>', @@ -32,8 +53,8 @@ if os.access(html_path, os.R_OK): data ) - with open('body_cleared.html', 'w', encoding='utf-8') as f: - f.write(body_cleared) + body_file.write(body_cleared) -else: - print('Файл "{}" не доступен для чтения'.format(html_path)) + html_file.close() + ascii_file.close() + body_file.close() |