From ddd5bfe49f1b9c3dfb3b1b448bece9fc636cb88f Mon Sep 17 00:00:00 2001 From: Andrew Date: Mon, 4 Mar 2019 20:03:49 +0400 Subject: Day 1 Task 4 --- day1/task4/task4.py | 25 +++++++++++++++++++++++++ day1/task4/task4_data.html | 13 +++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 day1/task4/task4.py create mode 100644 day1/task4/task4_data.html (limited to 'day1') diff --git a/day1/task4/task4.py b/day1/task4/task4.py new file mode 100644 index 0000000..9ed9f2d --- /dev/null +++ b/day1/task4/task4.py @@ -0,0 +1,25 @@ +import string +import re +import os + +with open('task4_data.html') as f: + data = f.read() + +# Не знаю зачем, но в задании так написано +os.chdir('..') +os.mkdir('htmls') +os.chdir('htmls') + +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'(.|\n)*?', + 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) + diff --git a/day1/task4/task4_data.html b/day1/task4/task4_data.html new file mode 100644 index 0000000..4357c07 --- /dev/null +++ b/day1/task4/task4_data.html @@ -0,0 +1,13 @@ + + + + + A Small Hello. Это по идеи заголовок. + + + +

Hi я интерактивная страница

+

I want to be inline, in my source code

+

This is very minimal "hello world" HTML document.

+ + -- cgit v1.2.3 From 19c117c32bf7de16f86a45b62182c9fae9ef9374 Mon Sep 17 00:00:00 2001 From: Andrew Date: Sat, 9 Mar 2019 20:37:24 +0400 Subject: =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB=D0=B5=D0=BB?= =?UTF-8?q?=D0=B0=20=D1=87=D0=B5=D1=82=D0=B2=D0=B5=D1=80=D1=82=D0=B0=D1=8F?= =?UTF-8?q?=20=D0=B7=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=20=D0=BF=D0=B5=D1=80?= =?UTF-8?q?=D0=B2=D0=BE=D0=B3=D0=BE=20=D0=B4=D0=BD=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- day1/task4/task4.py | 46 ++++++++++++++++++++++++++++++---------------- 1 file changed, 30 insertions(+), 16 deletions(-) (limited to 'day1') 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'(.|\n)*?', - 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'(.|\n)*?', + 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)) -- cgit v1.2.3 From 5e4ba61600e76d6abab144767312fdf19663f373 Mon Sep 17 00:00:00 2001 From: Andrew Date: Mon, 11 Mar 2019 22:54:30 +0400 Subject: =?UTF-8?q?=D0=9F=D0=BE=D1=87=D0=B8=D0=BD=D0=B8=D0=BB=20=D1=87?= =?UTF-8?q?=D0=B5=D1=82=D0=B2=D0=B5=D1=80=D1=82=D1=83=D1=8E=20=D0=B7=D0=B0?= =?UTF-8?q?=D0=B4=D0=B0=D1=87=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- day1/task4/task4.py | 61 +++++++++++++++++++++++++++++++++++------------------ 1 file changed, 41 insertions(+), 20 deletions(-) (limited to 'day1') 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'(.|\n)*?', @@ -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() -- cgit v1.2.3