Из этого туториала Вы узнаете, как создать свой собственный таймер Pomodoro с помощью Python, и поможете оптимизировать рабочее время. БОНУС: прокрутите до конца, чтобы узнать, как добавить блокировщик веб-сайтов к таймеру.

Вы когда-нибудь слышали о технике Помидора? Это сверхпродуктивный метод, который заключается в разделении вашего рабочего времени на части по 25 минут интенсивной работы в сочетании с 5-минутными перерывами. Я впервые услышал об этом, когда начал изучать Глубокую работу, и, как любой хороший прокрастинатор, я решил облегчить себе жизнь, создав свой собственный таймер и блокировщик веб-сайтов. Вот результат:

В этом руководстве рассказывается, как:

  1. Создайте простой таймер с помощью Python
  2. Запустите вашу программу в фоновом режиме
  3. Добавить блокировщик веб-сайтов в таймер Pomodoro

Примечание. Я новичок в python, поэтому, если у вас есть предложения относительно моего стиля и содержания, поделитесь ими со мной;)

Создание приложения Python

Для тех, кто разбирается в Python, я буду использовать модули time, datetime, tkinter и winsound. для этой программы. Все они предустановлены в большинстве установок Python, поэтому вам нужно только импортировать их (см. Ниже).

Инициализация переменных

Первое, что нужно сделать, это получить текущее время, а затем добавить 25 минут, чтобы получить начальную и конечную точки для вашего кода. Это может быть достигнуто с помощью модуля datetime, как показано ниже. datetime.now() собирает текущие значения даты и времени как объекты datetime. Затем с помощью функции timedelta() устанавливается разница во времени, которую можно добавить к начальному времени. Следовательно, t_now - текущее время, t_fut - время, когда Pomodoro заканчивается и начинается перерыв, и, наконец, t_fin - это время, когда перерыв заканчивается, и пользователей просят продолжить или выйти.

Графический интерфейс пользователя

Вместо использования командной строки я решил создать графический интерфейс, упрощающий использование этой программы. Это делается с помощью пакета tkinter. Чтобы упростить задачу, я использую только встроенный модуль messagebox, который позволяет задавать вопросы и отображать простые сообщения:

  • tkinter.Tk() открывает новое окно
  • .withdraw() скрывает главное окно, позволяя использовать только окно сообщения
  • messagebox.info() отображает на экране простое окно с информацией

Основной цикл:

Основной сценарий состоит из простого while цикла. Он разделен на три раздела: «Время помидора», «Время перерыва» и «Конец кода». Если время t_now меньше назначенного времени для перерыва, просто пропустите. В противном случае, когда наступает время для перерыва, он предупреждает пользователя звуковым сигналом! Это делается с помощью метода winsound.Beep().

Имейте в виду, что цикл повторяется несколько раз в разделе «break» при обновлении. Чтобы он не подал звуковой сигнал каждый раз, введена переменная break, которая будет издавать звуковой сигнал только при первом достижении раздела прерывания.

Остальная часть кода содержит раздел «Конец кода» и инструкции по обновлению цикла. Он начинается с предупреждения пользователя другим звуковым сигналом (прекрасный) и запроса сообщения да / нет, чтобы определить, продолжить или прекратить. Если пользователь решает продолжить, временные переменные обновляются, и цикл продолжается. Если пользователь решит остановиться, появится сообщение с указанием общего количества выполненных сегодня Помидоров.

На следующей блок-схеме изображен графический интерфейс на протяжении всего процесса.

Чтобы сэкономить место в памяти и обновлять цикл только каждые несколько секунд, используется метод time.sleep(secs). Это позволяет компьютеру быть более эффективным и использовать только необходимые ресурсы с обновлением каждые 20 секунд.

Запускаем ваше приложение!

Теперь, когда у вас есть рабочая программа, давайте все вместе соберем. Осталось всего три шага:

  1. Запуск приложения в фоновом режиме

Чтобы запустить приложение в качестве фонового процесса, измените расширение python с pomodoro.py на pomodoro.pyw. Этот простой трюк позволяет вашей программе запускаться из скрытой командной строки и предотвращает ее случайное закрытие. Теперь вы можете дважды щелкнуть файл, и ваш таймер откроется!

2. Создание ярлыка на рабочем столе

Чтобы запустить файл прямо с рабочего стола, просто щелкните файл pythonw правой кнопкой мыши и выберите создать ярлык. Теперь поместите этот файл на рабочий стол.

3. Изменение значка для персонализации Pomodoro [windows]

Чтобы изменить изображение значка, вы можете просматривать .ico файлы в Интернете. Это имена расширений, используемые для Microsoft. Вы можете щелкнуть правой кнопкой мыши по файлу ярлыка и выбрать изменить значок, затем вуаля, у нас есть персонализированный таймер Pomodoro.

БОНУС: Добавление блокировщика веб-сайтов через файл Windows HOSTS

Если вам интересно, как добавить к таймеру блокировщик веб-сайтов, просто посмотрите ниже. Я не буду вдаваться в подробности того, как написан скрипт Python, но вот предпосылка. По сути, изменение файла hosts в папке c:\Windows\System32\drivers\etc позволяет перенаправить любой IP-адрес на ваш локальный хост, тем самым предотвращая доступ к нему.

Это дополнение к программе работает путем добавления и удаления списка веб-сайтов в этот файл при активном таймере Pomodoro. Во время перерыва веб-сайты удаляются из файла hosts и снова становятся доступными. На рисунке ниже показан файл hosts до и во время Помидора.

И вот как это выглядит в запущенном состоянии:

Наконец, вот код!

ПРИМЕЧАНИЕ. На выполнение этого сообщения в блоге мне потребовалось 5 Помидоров.