Как выключить компьютер через python
Перейти к содержимому

Как выключить компьютер через python

  • автор:

Как написать выключение компа?

Мне нужно чтобы после последней команды print через 2 минуты компьютер выключился, а как бы это получше написать пока не понял. Потому что я так понимаю если я вставлю этот код в свою программу, то выйдет что он будет с момента запуска отсчитывать время.
Знаю, вопрос дурацкий, но я уже в тупике=/

  • Вопрос задан более года назад
  • 2308 просмотров

1 комментарий

Простой 1 комментарий

Таймер для выключения компьютеров на Python 3

Нужен простой скрипт для выключения компьютеров, чтобы когда компьютер включался он проверял время и начал отсчет до конкретного времени и отключился.

Отслеживать
3,199 2 2 золотых знака 25 25 серебряных знаков 45 45 бронзовых знаков
задан 21 июн 2018 в 9:26
1 1 1 серебряный знак 1 1 бронзовый знак
Зачем для этого Python? Хватит написать bat’ник в пару строк и запихать в автозапуск.
21 июн 2018 в 9:36
наверно можно и на powershell это организовать .
21 июн 2018 в 10:00

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Например это можно сделать бесконечным циклом, который будет проверять текущее время с желаемым

import os import time def shutdown(offPC=19): while time.gmtime().tm_hour < offPC: time.sleep(60) # ожидание 1 минуту os.system("shutdown -s") 

Также можно попробовать после включения запускать скрипт, вычислять время в секундах до желаемого времени отключения и формировать такую запись(отложенное выключение):

os.system("shutdown -s -t xx") 

Где XX время в секундах до отключения.

Программа на Python для управления компьютером / PyAutoGui

Программа на Python для управления компьютером / PyAutoGui

Питон славиться наличием большого количества очень крутых библиотек. В статье мы рассмотрим работу с библиотекой PyAutoGui, которая позволяет манипулировать компьютером.

Первое что необходимо сделать - это установить всё необходимое. Нам потребуется установить Python с официального сайта , а также скачать IDE, можно использовать PyCharm и далее создать внутри него новый проект.

Установка библиотеки

Теперь необходимо выполнить установку всех библиотек. Если вы работаете на Windows, то вам повезло и все что нужно - команду pip install pyautogui.

Если же вы работаете на Mac OS, то лучше вначале выполнить установку pip install pyobjc, сразу же за ней выполнить установку pip install pyobjc-core и только потом выполнить установку pip install pyautogui.

Работа с библиотекой

Используя библиотеку вы можете работать с мышью: вводить ею, нажимать, перетаскивать и так далее, а также можете работать с клавиатурой: вводить текст, нажимать на клавиши, выполнять нажатие на связку команд.

Некоторые из команд представлены ниже вместе с описанием:

import pyautogui as pg # Получение позиции мыши и вывод в консоль print(pg.position()) # Передвижение мыши pg.move(50, 50, duration=0.5) pg.moveTo(150, 200, 0.5) # Передвигаем к точке относительно экрана # Нажатие мышкой по определенной точке pg.click(769, 101) pg.doubleclick(769, 101) # двойное нажатие pg.rightclick(769, 101) # нажатие правой кнопкной мыши pg.leftclick(769, 101) # нажатие левой кнопкной мыши # Ввод текста pg.typewrite("itproger.com") # Выполнения нажатия на клавишу pg.typewrite(["enter"]) # Выполнения нажатия на сочетание клавиш pg.hotkey("winleft") pg.hotkey("winleft", "up") pg.hotkey("ctrl", "t") # Вызов различных всплывающих окон pg.alert("Окно с информацией", "Название окна", button="Текст на кнопке") age = pg.prompt("Укажите возраст: ", "Название окна") print(age) pg.confirm("Вам больше 18?", "Название окна", ("Да, точно", "Нет")) pg.password("Введите пароль", "Название окна") # Создание скриншота pg.screenshot("yourPic.png") # Мини программа website = pg.prompt("Введите название сайта:", "Веб сайт", "https://") pg.click(769, 101) pg.typewrite(website) pg.typewrite(["enter"]) pg.screenshot("yourPic.png")

Видео на эту тему

Также вы можете просмотреть детальное видео по работе с библиотекой:

Дополнительный курс

На нашем сайте также есть углубленный курс по изучению языка Питон . В ходе огромной программы вы изучите не только язык Питон, но также научитесь создавать веб сайты за счёт веб технологий и фреймворка Джанго. За курс вы изучите массу нового и к концу программы будете уметь работать с языком Питон, создавать на нём полноценные ПК приложения на основе библиотеки Kivy, а также создавать веб сайты на основе библиотеки Джанго.

Больше интересных новостей

7 девушек айтишниц из фильмов и сериалов

7 девушек айтишниц из фильмов и сериалов

7 лучших книг по программированию

7 лучших книг по программированию

Шутки от известных компаний на 1 апреля!

Шутки от известных компаний на 1 апреля!

7 языков программирования, без которых не обойтись в 2020 году

7 языков программирования, без которых не обойтись в 2020 году

Комментарии (1)

Крипи 22 октября 2022 в 09:41

Как выключить компьютер с помощью Python

Я написал сценарий Python, который должен в конечном итоге выключить компьютер. Эта строка является ее частью:

os.system("shutdown /p") 

Это делает своего рода выключение, но остается на включенной панели управления Windows (где пользователь может переключать пользователей компьютера). Есть ли способ полностью выключить компьютер? Я пробовал другие os.system("shutdown ___") безуспешно. Есть ли другой метод, который может помочь?

Ben L 02 дек. 2015, в 11:03
Поделиться

На самом деле это не имеет ничего общего с Python, так как shutdown /p просто отправляется в систему как команда терминала. Пожалуйста, укажите версию вашей ОС, так как параметры могут отличаться.

TigerhawkT3 02 дек. 2015, в 10:12

Да, конечно. Но мой вопрос: есть ли способ использовать модули Python? или по-другому? И мне нужно запустить программу на нескольких компьютерах, поэтому версия ОС не совпадает. Спасибо

Ben L 02 дек. 2015, в 12:28
Поделиться:

5 ответов

import os os.system('shutdown -s') 

Это будет работать для вас.

dudu1791 02 дек. 2015, в 19:50
Поделиться

Одна из проблем заключается в том, что он оставляет сообщение о том, что "You are about to be signed out in less than a minute" . Другая причина заключается в том, что если кто-то разместит пакетный сценарий с именем shutdown.bat вместе со сценарием, он не будет работать, это также является угрозой безопасности, поскольку этот файл будет выполнен. Подпроцесс теперь должен использоваться поверх os.system() .

Simon 12 июнь 2018, в 19:53
Вы можете избежать этого сообщения - os.system ('shutdown -s -t 0')
Sharpowski 20 июль 2018, в 07:53

import os os.system('sudo shutdown now') 

или: если вы хотите немедленное отключение без запроса sudo для sudo пароля, используйте следующее для Ubuntu и подобных дистрибутивов:

os.system('systemctl poweroff') 

Mtl Dev 14 дек. 2016, в 23:31
Поделиться
Подпроцесс теперь должен использоваться поверх os.system() .
Simon 12 июнь 2018, в 19:56

Единственный вариант, который действительно работает для меня без каких-либо проблем:

import os os.system('shutdown /p /f') 

Vladimir 03 фев. 2019, в 05:42
Поделиться

Используя ctypes, вы можете использовать функцию ExitWindowsEx для выключения компьютера.

Описание из MSDN:

Выход из системы интерактивного пользователя, выключение системы или выключение и перезагрузка системы.

Сначала немного кода:

import ctypes user32 = ctypes.WinDLL('user32') user32.ExitWindowsEx(0x00000008, 0x00000000) 

Теперь объяснение построчно:

  • Получить библиотеку ctypes
  • ExitWindowsEx предоставляется user32.dll и должен быть загружен через WinDLL()
  • Вызовите ExitWindowsEx() и передайте необходимые параметры.

Параметры:

Все аргументы шестнадцатеричные.

Первый аргумент, который я выбрал:

выключает систему и выключает питание. Система должна поддерживать функцию отключения питания.

Есть много других возможных функций, см. Документацию для полного списка.

Второй аргумент должен дать причину отключения, которое регистрируется системой. В этом случае я выбрал Other issue вариант, но есть из чего выбирать. Смотрите это для полного списка.

Делаем это кроссплатформенным:

Это может быть объединено с другими методами, чтобы сделать его кроссплатформенным. Например:

import sys if sys.platform == 'win32': import ctypes user32 = ctypes.WinDLL('user32') user32.ExitWindowsEx(0x00000008, 0x00000000) else: import os os.system('sudo shutdown now') 

Это зависимая от Windows функция (хотя Linux/Mac будет иметь аналог), но это лучшее решение, чем вызов os.system() поскольку пакетный скрипт с именем shutdown.bat не будет конфликтовать с командой (и вызывать угрозу безопасности в тем временем).

Кроме того, он не беспокоит пользователей сообщением "You are about to be signed out in less than a minute" как shutdown -s делает shutdown -s , но выполняется без вывода сообщений.

В качестве дополнительного примечания используйте подпроцесс над os.system() (см. Различие между subprocess.Popen и os.system)

В качестве примечания: я создал WinUtils (только для Windows), который немного упрощает это, однако он должен быть быстрее (и не требует Ctypes), поскольку он встроен в C.

Пример:

import WinUtils WinUtils.Shutdown(WinUtils.SHTDN_REASON_MINOR_OTHER) 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *