Из этого туториала Вы узнаете, как создать свой собственный таймер Pomodoro с помощью Python, и поможете оптимизировать рабочее время. БОНУС: прокрутите до конца, чтобы узнать, как добавить блокировщик веб-сайтов к таймеру.
Вы когда-нибудь слышали о технике Помидора? Это сверхпродуктивный метод, который заключается в разделении вашего рабочего времени на части по 25 минут интенсивной работы в сочетании с 5-минутными перерывами. Я впервые услышал об этом, когда начал изучать Глубокую работу, и, как любой хороший прокрастинатор, я решил облегчить себе жизнь, создав свой собственный таймер и блокировщик веб-сайтов. Вот результат:
В этом руководстве рассказывается, как:
- Создайте простой таймер с помощью Python
- Запустите вашу программу в фоновом режиме
- Добавить блокировщик веб-сайтов в таймер 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 секунд.
Запускаем ваше приложение!
Теперь, когда у вас есть рабочая программа, давайте все вместе соберем. Осталось всего три шага:
- Запуск приложения в фоновом режиме
Чтобы запустить приложение в качестве фонового процесса, измените расширение 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 Помидоров.