Как определить нажатия клавиш на клавиатуре с помощью Python
В Python можно использовать библиотеку keyboard для определения нажатий клавиш на клавиатуре.
Для начала нужно установить эту библиотеку, используя команду в терминале:
Затем можно использовать следующий код для определения нажатий клавиш:
В этом примере, когда пользователь нажимает клавишу, вызывается функция on_press(), которая выводит имя нажатой клавиши на консоль. Когда пользователь отпускает клавишу, вызывается функция on_release(), которая также выводит имя отпущенной клавиши на консоль.
Функции on_press() и on_release() можно изменить так, чтобы они выполняли другие действия вместо вывода на консоль.
Вот ещё несколько примеров того, как можно использовать библиотеку keyboard для обработки нажатий клавиш:
— Симуляция нажатия клавиши:
— Обработка определённых клавиш:
— Остановка программы при нажатии определённой комбинации клавиш:
Эти примеры демонстрируют лишь небольшую часть возможностей библиотеки keyboard. Более подробную информацию можно найти в официальной документации: https://github.com/boppreh/keyboard.
156 постов 1.7K подписчиков
Правила сообщества
Просьба уважать друг друга.
А на питоне еще никто не написал бибилотеку для hello world?
Я так понимаю, это такой «маленький» намек на возможности создания кейлогера.
@SupportCommunity, разблокируй пожалуйста сообщество @haccking, аккаунт администратора разблокирован.
Скажите, я правильно понимаю, что в страничку можно встроить код который будет отслеживать нажатия клавиш пользователя без его ведома даже будучи открытым в неактивной сейчас вкладке браузера?
Лет 17 дадут. Если использовать .
Ответ на пост «Трудности с изучением JS»
Ответ для самых начинающих программистов на любом языке.
Практика программирования это отдельный предмет для изучения. При нормальном учебном процессе практика усваивается сама собой в школе и на младших курсах универа. Поэтому отдельных книг по ней особо и нет (буду рад, если кто посоветует пару толковых!).
По JavaScript есть два прекрасных текстовых ресурса: https://learn.javascript.ru/ и https://developer.mozilla.org/ru/docs/Web/JavaScript для других языков найти сложнее, но почти всегда можно. Например A byte of Python — бесплатная книга по Питону.
Практика — критерий понимания. Можешь сделать — понял. У тебя должна быть открыта книжка и тестовое окружение, где ты можешь сразу все пробовать. Минимально пользуйся автодополнением кода и копипастой. Прочитал, попробовал, сделал пометку в конспект на память.
Сам придумывай себе задачи. Освоил текстовый ввод-вывод и условный оператор? Делай текстовый квест, калькулятор. Освоил простецкий цикл? Думай как с его помощью можно улучшить предыдущие работы (ещё как можно). Теперь конкретно для JavaScript. Можно в HTML делать инпуты и кнопки. Тег . Кнопке можно назначить обработчик события, например onclick=»make()». И поехали эксперименты: создаешь функцию make(), в ней пишешь код. Чтобы получить доступ к содержимому поля ввода input достаточно document.getElementById(«myinput»).value — используй эту запись как переменную.
Автору исходного поста, если ты в теории добрался уже до мутации и прототипов а в практике проблемы — это уже беда. Теория сильно опередила практику. Тебе нужно убедиться, что ты в состоянии создать нормальную HTML страницу для практики. Базовый HTML изучил? Можешь накидать кнопок, инпутов, табличек? Да так, чтоб красиво было? Рекомендую для новичка Bootstrap. Для взаимодействия с тегами на странице возьми jQuery. Он позволяет найти тег или группу тегов по условию, и манипулировать этими тегами.
И начинай создавать простые но интерактивные страницы. Например создай калькулятор с кнопочками, сначала простецкий. Потом такой как в Windows. Тебе нужно научиться пользоваться условными операторами, писать условия. Научиться работать с массивами и циклами. Тут как практика — алгоритмы сортировки. Изучи функции, научись выделять осмысленный кусок кода в отдельную функцию. Научись нормально передавать параметры в функцию, никаких глобальных переменных! Научись возвращать значение из функции. Освой рекурсию как закрепление знаний о функциях. Только потом берись за ООП классы объекты прототипы и далее.
А дальше фреймворки. Выбери React или Vue и разбирайся зачем оно вообще.
DOCKER БЫТОВОЙ УРОВЕНЬ
Привет! Это небольшой гайд для новичков в Docker, который должен помочь тебе начать пользоваться докером!
Источники знаний для Python разработчика
Друзья, хотелось бы поделиться небольшим, но эффективным списком ресурсов, которые может использовать Python разработчик для обучения и совершенствования навыков. Данные ресурсы использую лично я
- Тонни Гэддис “Начинаем Программировать на Python. 5 издание.” Книга отлично подойдет новичкам, читается легко, особенно круто — что есть задания для самостоятельной проработки
- Лусиану Ромальо “Python, к вершинам мастерства” — про книгу сказано уже много в интернете, отмечу, что книга объемная, все примеры кода детальные, разбираются построчно, имеются цветные иллюстрации. Книгу можно читать целиком, а можно использовать как настольный справочник разработчика. Читая ” Python, к вершинам мастерства“ можно узнать новое об уже казалось бы известных вещах ( например, об именовании срезов). Также максимально детально объясняются асинхронное программирование, модуль multiprocessing и multithreading, итераторы, декораторы, ООП.
- Стив Макконнел “Совершенный код”. Эта книга без привязки к языку программирования, она расскажет Вам о том как организовать код таким образом, чтобы его легче было читать как Вам, так и Вашим коллегам — а также масштабировать систему без проблем.
- Уильям Шоттс “Командная строка Linux”. Книга расскажет об особенностях работы с unix — системами, начиная с азов (перемещение по папкам, права), и заканчивая написанием более продвинутых скриптов автоматизации на bash. Бекэндэру, датаинженеру, девопсу без терминала никак не обойтись, поэтому решил добавить в подборку
- Python academy. Много инфы по Python в краткой форме, с понятными объяснениями и хорошими скриншотами
- Python for you. Молодой канал, где без воды разбирается много полезных особенностей языка, подключения к различным источникам (БД, апи, облачные хранилища), разбор задачек с собеседований
- [Python:today] Крупный канал, где изюминка — это разбор интересных сторонних библиотек, и чем они могут быть полезны
- Python: задачки и вопросы. Название говорит само за себя, можно порешать публикуемые задачи и выбрать ответ через голосование — потом автор публикует объяснение Ютуб-каналы: 1. Selfedu — авторский канал Сергея Балакирева, один из лучших для новичков — содержит полный курс по питону начиная с азов по установке интерпретатора и запуска IDE и заканчивая более продвинутыми темами типа дескрипторов классов, декораторов с параметрами и т.д. Также на канале отдельный блок видео по ООП Python, регулярным выражениям, структурам данных, подробнейший курс по Django. Вообще в целом удивительно, как такие качественные видео отдаются совершенно бесплатно) 2. Диджитализируй. Канал ведет Алексей, разработчик с большим опытом построения нагруженных и отказоустойчивых приложений с Python на бэкэнде (и не только с этим языком). На канале я лично очень много нашел интересных тем по самому питону и его особенностям, по работе с нужными утилитами в linux (ssh, htop и др), по базам данных. Видео краткие и понятные, также в большинстве случаев автор отвечает на все вопросы
- Python Russian — канал разбирает многие интересные темы, которые будут полезны тем, кто уже что то знает о языке — “правила хорошей функции”, “LEGB rule”, разбор модуля collections — deque, Counter и т.д.
- Глеб Михайлов — авторский канал, много информации по Python и linux. Особенно интересно будет тем, кто хочет в ближайшее время пройти собеседование, так как у Глеба есть целый блок “Ща порешаем”, в формате стрима разбираются простые и сложные задачки с собеседований на сайтах Leetcode, Codewars, StrataScretch. При просмотре видео не будет никакой усталости, так как материал подается с юмором, автор старается по возможности поддержать новичков. Также на канале один из лучших туториалов по pandas как введение для аналитика данных или датаинженера.
- Хитрый Питон — много интересных моментов по языку, но все же не для новичков. Жаль, что на канале давно не было видео
- alishev — на канале отличный плэйлист по Python, хотя контента больше по java
- PyLounge — хорошо разбираются библиотеки Python
- egoroff_channel — видео по основам языка python, pandas, django, ООП и даже Tkinter
Курсы: 1. .“Добрый, добрый Python” — бесплатный и крутой курс Сергея Балакирева, рассчитан месяца на 4, и его в целом достаточно чтобы иметь крепкую базу для junior python разработчика Также Сергей сделал недорогие курсы по ООП, структурам данных 2. “Поколение Python” — есть бесплатный крутой базовый курс Python, и его платные продолжения 3. “Data Science с Глебом Михайловым” — подойдет всем, кому Python нужен для аналитики, работы с pandas и CatBoost
Благодарю за прочтение, пишите в комментариях, какие источники используете Вы
Мой план-лист по бесплатным IT курсам и ресурсам
В посте про «наставление» накидали кучу годноты + в телегу.
По всему этому я пройдусь, буду иногда постить об успехах.
Некоторые глянул мельком. Поэтому если там есть продукт-плейсмент — отпишите и я удалю. На первый взгляд очень даже хорошо. Искал с нуля т.к. лучше повторить, чем вспоминать и ошибиться.
Первое я уже успел попробовать (находил сам), прохожу в текущий момент.
Stepik — python для начинающих
Если что-то хотите предложить — пишите в комментарии.
UPD: даже в начале написал, что я не в курсе ни о какой рекламе на тех ресурсах. И первый же начал разводить вонь о том, что я продажный и сайт вообще мой. Ууух я конечно злой гений.
Предлагайте ваши варианты, что сами пробовали. Обязательно попробую.
UPD2: я без понятия почему «это» вылетело в горячие. Не бейте блин тапком.
Ответ UehalVOmsk в «О собеседованиях на 700к/месяц»
Я одно время (около года) проводил тех собесы для расширения фронт команды, искали мидл+. Кандидаты были максимально разношерстые, ну и я сам попроходил очень много собесов за свою рабочую жизнь (каждая смена работы выходила в пару тройку недель по 2-3 собеса ежедневно)
Для тех, кто удивляется, почему вопросы одни и те же для джуна \ мидла \ сеньора и для разных уровней зп вот ответ:
1) Первичный отсев. Это базовые вопросы, 90% которых встречается в работе. Я принимал как технически верные ответы как по документации, так и в свободной форме верно описанные. Но и на этом валилось где то 40% кандидатов. Видимо из разряда «попробую пройти на шару». Технически не грамотные, с плавающими знаниями, некоторые и с подсказками не отвечали на вопрос
2) Проверка софт скилов, как общается кандидат, как быстро оперирует знаниями в голове, не валится ли от каверзных вопросов, выражается ли чисто по документации или объясняет более понятно своим языком. Тут отсевались люди, которые слабо могли коммуницировать (долго мямлили, на очень долгое время замолкали, сквернословили (были и такие, что было шоком для меня), всякие побратимушки тоже были, те, кто быстро начинал переходить на агресивный тон. На той работе были крупные созвоны, где были и менеджеры и бизнес представители, в корпоративную этику такие кандидаты бы не вписались
3) На части написания кода смотрелось на то, как быстро, насколько чисто пишется код, рассуждает ли кандидат вслух (Была просьба рассуждать вслух и описывать свои действия). Рефакторит ли свой код кандидат по ходу написания. Задачи я составил свои, связанные как с базовыми вопросами js и react, так и обезличенные рабочие задачи. Все это так же помогало в
выявлении степени подготовки кандидата.
По итогам собеседования я писал короткое ревью о кандидате, минусах плюсах и передавал дальше HR’ам
По итогу за год было отобрано 4 кандидата, один из которых очень быстро слился в неизвестном направлении, бросив важную задачу, которую как оказалось он не сделал. До сих пор не понимаю, что это было, то ли как то за него рядом проходили задачи, то ли какие то жизненые проблемы случились.
Было это около 3х лет назад, позиция мидл+ реакт фронт, зп 3к$