summaryrefslogtreecommitdiff
path: root/day1/task4
diff options
context:
space:
mode:
Diffstat (limited to 'day1/task4')
-rw-r--r--day1/task4/task4.py46
1 files changed, 30 insertions, 16 deletions
diff --git a/day1/task4/task4.py b/day1/task4/task4.py
index 9ed9f2d..0fcf928 100644
--- a/day1/task4/task4.py
+++ b/day1/task4/task4.py
@@ -2,24 +2,38 @@ import string
import re
import os
-with open('task4_data.html') as f:
- data = f.read()
-# Не знаю зачем, но в задании так написано
-os.chdir('..')
-os.mkdir('htmls')
-os.chdir('htmls')
+html_path = os.path.join(os.getcwd(), 'task4_data.html')
-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)
+if os.access(html_path, os.R_OK):
+ with open(html_path) as f:
+ data = f.read()
-body_cleared = re.sub(
- r'<BODY>(.|\n)*?</BODY>',
- lambda match: match.string[match.start(): match.end()].replace('\n', ''),
- data
-)
+ # Не знаю зачем, но в задании так написано
+ try:
+ os.mkdir('../htmls')
+ os.chdir('../htmls')
+ except PermissionError:
+ print('Директория на уровень выше не доступна для записи.')
+ print('Создаем папку в текущей директории...')
+ try:
+ os.mkdir('htmls')
+ except PermissionError:
+ print('Текущая директория не доступна для записи. Завершаем работу...')
+ quit()
-with open('body_cleared.html', 'w', encoding='utf-8') as f:
- f.write(body_cleared)
+ 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)
+ body_cleared = re.sub(
+ r'<BODY>(.|\n)*?</BODY>',
+ lambda match: match.string[match.start(): match.end()].replace('\n', ''),
+ data
+ )
+
+ with open('body_cleared.html', 'w', encoding='utf-8') as f:
+ f.write(body_cleared)
+
+else:
+ print('Файл "{}" не доступен для чтения'.format(html_path))