Using ctypes you could use the ExitWindowsEx function to shutdown the computer.
Description from MSDN:
Logs off the interactive user, shuts down the system, or shuts down and restarts the system.
First some code:
import ctypes
user32 = ctypes.WinDLL('user32')
user32.ExitWindowsEx(0x00000008, 0x00000000)
Now the explanation line by line:
- Get the ctypes library
- The
ExitWindowsEx
is provided by theuser32.dll
and needs to be loaded viaWinDLL()
- Call the
ExitWindowsEx()
function and pass the necessary parameters.
Parameters:
All the arguments are hexadecimals.
The first argument I selected:
shuts down the system and turns off the power. The system must support the power-off feature.
There are many other possible functions see the documentation for a complete list.
The second argument:
The second argument must give a reason for the shutdown, which is logged by the system. In this case I set it for Other issue
but there are many to choose from. See this for a complete list.
Making it cross platform:
This can be combined with other methods to make it cross platform. For example:
import sys
if sys.platform == 'win32':
import ctypes
user32 = ctypes.WinDLL('user32')
user32.ExitWindowsEx(0x00000008, 0x00000000)
else:
import os
os.system('sudo shutdown now')
This is a Windows dependant function (although Linux/Mac will have an equivalent), but is a better solution than calling os.system()
since a batch script called shutdown.bat
will not conflict with the command (and causing a security hazard in the meantime).
In addition it does not bother users with a message saying "You are about to be signed out in less than a minute"
like shutdown -s
does, but executes silently.
As a side note use subprocess over os.system()
(see Difference between subprocess.Popen and os.system)
As a side note: I built WinUtils (Windows only) which simplifies this a bit, however it should be faster (and does not require Ctypes) since it is built in C.
Example:
import WinUtils
WinUtils.Shutdown(WinUtils.SHTDN_REASON_MINOR_OTHER)
Improve Article
Save Article
Improve Article
Save Article
As we know, Python is a popular scripting language because of its versatile features. In this article, we will write a Python script to shutdown a computer.
To shut down the computer/PC/laptop by using a Python script, you have to use the os.system()
function with the code “shutdown /s /t 1
” .
Note: For this to work, you have to import
os library
in the ide. If you don’t have it, then ‘pip install os
‘ through the Command Prompt.Causion: Please ensure that you save and close all the program before running this code on the IDLE, as the below program will immediately shut down your computer.
Below is the Python implementation –
import
os
shutdown
=
input
(
"Do you wish to shutdown your computer ? (yes / no): "
)
if
shutdown
=
=
'no'
:
exit()
else
:
os.system(
"shutdown /s /t 1"
)
Output:
Here is the Python Program which will ask the user to shut down the computer providing the option of Yes or No. Also, when you type yes & then press the ENTER key, the system will be shut down instantly.
Improve Article
Save Article
Improve Article
Save Article
As we know, Python is a popular scripting language because of its versatile features. In this article, we will write a Python script to shutdown a computer.
To shut down the computer/PC/laptop by using a Python script, you have to use the os.system()
function with the code “shutdown /s /t 1
” .
Note: For this to work, you have to import
os library
in the ide. If you don’t have it, then ‘pip install os
‘ through the Command Prompt.Causion: Please ensure that you save and close all the program before running this code on the IDLE, as the below program will immediately shut down your computer.
Below is the Python implementation –
import
os
shutdown
=
input
(
"Do you wish to shutdown your computer ? (yes / no): "
)
if
shutdown
=
=
'no'
:
exit()
else
:
os.system(
"shutdown /s /t 1"
)
Output:
Here is the Python Program which will ask the user to shut down the computer providing the option of Yes or No. Also, when you type yes & then press the ENTER key, the system will be shut down instantly.
Используя 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)
aqyl 0 / 0 / 0 Регистрация: 21.11.2020 Сообщений: 3 |
||||
1 |
||||
Выключение пк через определенное время09.12.2020, 12:59. Показов 9275. Ответов 3 Метки python 3 (Все метки)
Всем привет. Только начал изучать питон и решил что по мере поступления ошибок изучать новое.
Подскажите, что я делаю не так?
__________________
0 |
4606 / 2027 / 359 Регистрация: 17.03.2012 Сообщений: 10,081 Записей в блоге: 6 |
|
09.12.2020, 13:07 |
2 |
А команда system ждёт завершения или нет?
0 |
aqyl 0 / 0 / 0 Регистрация: 21.11.2020 Сообщений: 3 |
||||
09.12.2020, 13:10 [ТС] |
3 |
|||
А команда system ждёт завершения или нет? Оказалась проблема в том, что систем принимает строчный тип.
Оставлю тут, вдруг кому поможет.
0 |
ЗлойШаман 0 / 0 / 0 Регистрация: 31.05.2022 Сообщений: 1 |
||||
31.05.2022, 12:10 |
4 |
|||
У меня вот так заработало
0 |
As we know, Python is a popular scripting language because of its versatile features. In this article, we will write a Python script to shutdown a computer.
To shut down the computer/PC/laptop by using a Python script, you have to use the os.system()
function with the code “shutdown /s /t 1
” .
Note: For this to work, you have to import
os library
in the ide. If you don’t have it, then ‘pip install os
‘ through the Command Prompt.Causion: Please ensure that you save and close all the program before running this code on the IDLE, as the below program will immediately shut down your computer.
Below is the Python implementation –
import
os
shutdown
=
input
(
"Do you wish to shutdown your computer ? (yes / no): "
)
if
shutdown
=
=
"no"
:
exit()
else
:
os.system(
"shutdown /s /t 1"
)
Выход:
Вот программа Python, которая попросит пользователя выключить компьютер, предлагая вариант «Да» или «Нет». Кроме того, когда вы набираете «да» и затем нажимаете клавишу ENTER, система будет немедленно выключена.
Внимание компьютерщик! Укрепите свои основы с помощью базового курса программирования Python и изучите основы.
Для начала подготовьтесь к собеседованию. Расширьте свои концепции структур данных с помощью курса Python DS. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение — базовый уровень.
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
1
branch
0
tags
Code
-
Use Git or checkout with SVN using the web URL.
-
Open with GitHub Desktop
-
Download ZIP
Latest commit
Files
Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
Computer-control
Утилита для управления компьютером. Выключение (по таймеру), перезагрузка, спящий режим. Python 3
Разработана для управления ПК под ОС Linux
Разработан графический интерфейс.
Функции:
- Выключение компьютера
- Выключение компьютера по таймеру
- Перезагрузка компьютера
- Переход в спящий режим
- Отмена заданного таймера
Для того, чтобы задать таймер, необходимо включить соответсвующий флажок.
После чего в активированное поле ввода, необходимо ввести время в формате чч:мм
Вceм пpивeт.
В этoй cтaтьe я paccкaжу вaм, кaк выключить вaш кoмпьютep c пoмoщью cкpиптa нa Python. Еcли вaм вдpуг пoнpaвитcя мaтepиaл, тo c вac — лaйк и пoдпиcкa, a c мeня — кaчecтвeнный и чacтый кoнтeнт. В любoм cлучae, нaчнём!
Пpиcтупим
Откpывaeм peдaктop кoдa и нaчинaeм cтpoчить:
import os
Импopтиpуeм мoдуль os.
shutdown=input(«Хoтитe ли вы выключить cвoй кoмпьютep?»)
Спpaшивaeм у пoльзoвaтeля, будeт ли oн выключaть cвoeгo жeлeзнoгo дpугa.
if shutdown == «Дa»:
shutdown_command=»shutdown /s /t 00″
os.system(shutdown_command)
Выключaeм кoмпьютep пpи ввoдe «Дa».
if shutdown == «Нeт»:
exit()
Выxoдим из пpoгpaммы пpи ввoдe «Нeт».
Вoт иcxoдный кoд cкpиптa: ccыль.
Стoит cкaзaть, чтo eгo мoжнo cкoмпилиpoвaть в exe-фaйл. Дaвaйтe этo cдeлaeм.
Кoмпиляция
Откpывaeм кoмaндную cтpoку и пишeм в нeй:
pip install pyinstaller
Пocлe уcтaнoвки чepeз кoмaндную cтpoку пepexoдим к пaпкe, в кoтopую вы coxpaнили или cкaчaли cкpипт. Тaм ввoдим кoмaнду:
pyinstaller —onefile имя_вaшeгo_фaйлa.py
Гдe имя_вaшeгo_фaйлa — имя вaшeгo фaйлa.
Гoтoвo! Зaбиpaeм exe и вcё!
Вoт caм exe-шник: ccыль.
Ну a нa этoм вcё! Еcли вaм пoнpaвилcя мaтepиaл, пoжaлуйcтa, пoддepжитe кaнaл лaйкoм и пoдпиcкoй, a ecли нeт, пишитe в кoммeнтapии, пpинимaю кpитику в любoй фopмe.
Вы, наверное, слышали или практиковали завершение работы с Python, так как насчет загрузки с Python? Это волшебный метод, который учит вас, как использовать Python для загрузки.
Цель этой статьи
- Принцип удаленной загрузки
- Реализация кода удаленной загрузки Python
- Инструкция по отключению Python
Больше Python видео, исходный код, данные плюс группа 960410445 бесплатно
Python boot
Как использовать программу для загрузки? Это технология WOL Wake-On-Lan. Когда компьютер выключен или находится в спящем режиме, сетевая карта и часть материнской платы по-прежнему имеют слабый источник питания. Конечно, источник питания должен быть подключен и подключен. Таким образом, даже в случае выключения сетевая карта по-прежнему обладает определенной способностью работать, вы можете прослушивать информацию онлайн-трансляции за пределами компьютера, и когда информация определенного формата будет найдена, она запустится.
Теперь материнские платы в основном поддерживаются. Нужно только настроить следующие два параметра в свойствах сетевого адаптера
Следующее изображение не может быть проверено. Мы должны убедиться, что сетевая карта по-прежнему имеет электропитание после выключения. Если вы выключите индикатор сетевого порта, он не будет работать. Держите индикатор сетевого порта включенным.
Эти конкретные данные также имеют хорошее название, называемое Magic Packet (Волшебный пакет). Обычно используется протокол UDP для трансляции. Обычно это порт 7 или 9. Волшебные пакеты всегда используют «FF FF FF FF FF FF» для 6 «FF», за которыми следует информация MAC-адреса. Как только сетевая карта обнаружит содержимое пакета, она разбудит целевой компьютер.
Давайте посмотрим, как писать код. Код включает в себя сетевое программирование UDP, и позже мы напишем содержание сетевого программирования. Для этой функции требуется только ввести MAC-адрес целевого компьютера.В локальной сети (конечно, если ваш компьютер имеет общедоступный IP-адрес, то он также может быть в общедоступной сети) запустите эту программу на другом компьютере, целевой компьютер может Включить автоматически.
Код выглядит следующим образом, сам код очень короткий, а принцип очень прост:
Выключение Python
Отключение относительно проще, и в Интернете есть много готовых решений. Большинство программ используют программу для сканирования почтовых ящиков. Если вы получаете электронные письма, связанные с ключевыми словами завершения работы, программа автоматически выполняет команду завершения работы.
Кроме того, если вы просто выключились в локальной сети или у вас есть общедоступный IP-адрес, вы также можете запустить службу на локальном компьютере, например Flask, работающую на порту 5000. Просто отправьте инструкцию на адрес 5000. Команда для выполнения выключения требуется в родной программе