Как стать автором
Обновить
9
0
Игорь @igorzakhar

Пользователь

Отправить сообщение

Сюда можно добавить про библиотеку contextlib с декоратором contextmanager.

Нет необходимости писать класс для нового контекстного менеджера, достаточно обернуть генератор в декоратор @contextmanager. Ссылка на доку: contextlib — Utilities for with-statement contexts

Пример из документации:

from contextlib import contextmanager

@contextmanager
def managed_resource(*args, **kwds):
    # Code to acquire resource, e.g.:
    resource = acquire_resource(*args, **kwds)
    try:
        yield resource
    finally:
        # Code to release resource, e.g.:
        release_resource(resource)

Использование:

with managed_resource(timeout=3600) as resource:
    # Resource is released at the end of this block,
    # even if code in the block raises an exception

Там много ещё чего.

В 1991 на рейсе Киров - Москва тоже предлагали поиграть. Выбор был из нескольких игр, помню, я выбрал "Автослалом", как в этом комментарии.

и "Эхопраксии"

venv не нужно устанавливать если python версии 3.3 и выше, т.к. в этих версиях модуль venv входит в стандартную библиотеку.

Да, в книге этому посвящена целая глава "Minix и Linux" и вставлены письма из их переписки.

Кое-где даже упоминается, что он вдохновлялся книгой создателя MINIX профессора Эндрю Таненбаума «Операционные системы: разработка и реализация» (Operating Systems: Design and Implementation). 

"Примерно через год, когда Линус приехал в Нидерланды на свое первое публичное выступление, он отправился в университет, где преподавал Таненбаум, надеясь получить от него автограф на своем экземпляре книги «Проектирование и реализация операционных систем» – книги, которая перевернула его жизнь. Он ждал под дверью, но Таненбаум так и не появился. Профессор был в отъезде, и встреча не состоялась."

"Just for Fun. Рассказ нечаянного революционера" Линус Торвальдс, Дэвид Даймонд

"Python. К вершинам мастерства (Fluent Python)." Автор: Лучано Рамальо

Добавили голосование

Дмитрии Докучаев, в журнале «Хакер» писал под ником Forb

Для примера, можно избавиться от if в этом месте:

...
if not os.path.exists('./areas/'):
	os.makedirs('./areas/')
...

У функции makedirs есть опциональный параметр exist_ok, я бы написал так:

os.makedirs(dir_name, exist_ok=True)

И в целом можно "высушить" код, в некоторых местах можно смело убирать else.

Также сделать except избирательным.

Это первое, что бросается в глаза, а так много чего ещё исправить можно.

Глядя на некотрые участки кода, хочется посоветовать ознакомиться с таким понятием как цикломатическая сложность.

Первый раз слышу термин "затемнение". Обычно в книгах и статьях встречается перевод "затенение" (shadowing variables).

Кстати, да, упустил этот момент. Уже исправлено.

Открывается новое окно webdriver, после чего запускается сайт со следующим содержанием:

После этого предложения, возможно, должен быть какой-то скриншот, но в статье его нет.

Лучшее объяснение этой темы, лично для меня, в книге "Python. К вершинам мастерства" Л. Рамальо, глава 14.

2

Информация

В рейтинге
5 478-й
Работает в
Зарегистрирован
Активность