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

Обновлено: 06.07.2024

последний вызов нуждается в дополнительном аргументе, я не могу найти
документацию по этому поводу. Кто-нибудь знает?

Реклама

Вольфганг Драксингер

Привет, я новичок в Python!

Но я хотел бы выключить компьютер Mac 10.5.x с помощью python
(2.5.1)

последний вызов нуждается в дополнительном аргументе, я не могу найти
документацию по этому поводу. Кто-нибудь знает?

Почему так сложно? MacOS X по своей сути является Unix, поэтому вы можете
использовать команды Unix.

Должно быть запущено как root, иначе не будет работать. Однако вы можете добавить в
sudoers (man visudo) завершение работы как программу NOPASSWD для пользователей,
которые хотят выполнить сценарий и использовать "sudo shutdown . "
вместо просто "shutdown . "< /p>

Реклама

Привет, я новичок в Python!

Но я хотел бы выключить компьютер Mac 10.5.x с помощью python (2.5.1)

Избегайте старых модулей Python 2.x gensuitemodule/aetools — они
всегда были ненадежными и/или неработоспособными в OS X и полностью перегружены на
Intel Mac. Для чего-то такого простого вы можете просто раскошелиться на
osascript, избегая каких-либо дополнительных зависимостей:

импорт подпроцесса
subprocess.call(['osascript', '-e',
'сообщить приложению "Системные события" о завершении работы'])

(Обратите внимание, что я бы не рекомендовал использовать 'shutdown', как предлагает Вольфганг,
- хотя он выключит вашу систему, он ничего не знает о
рабочем столе Mac и бесцеремонно уничтожит все ваши
процессы с графическим интерфейсом без выполнения обычных процедур выхода.)

Задать вопрос

Хотите ответить в этой теме или задать свой вопрос?

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

Похожие темы

ModuleNotFoundError: Нет модуля с именем 'pyaudio' на Mac (с установленной Anaconda) 0 29 декабря 2020 г.
Установка в Mac OSX 10.6.8 не создает папку: /System/Library/Frameworks/Python.framewor< /td> 1 2 апреля 2013 г.
CGI-программирование Python на Mac OSX 1 21 мая, 2015
Python 2.7, проблема с tkinter в OSX 3 25 июня 2010 г.
Компиляция 64-битного Python на Mac - невозможно вычислить sizeof (int) 2 3 июля 2009 г.
Добавление к sys.path 1 24 марта 2009 г.
Readline и Python 2.6.1 на Mac 2 15 января 2009 г.
ANN: Выпущена новая версия (0.3.4) модуля Python, который является оболочкой GnuPG. 0 5 июня 2013 г.

Форумы по программированию – это место, где можно получить помощь и задать вопросы, связанные с кодированием и языками программирования.

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

Эта строка является его частью:

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

Есть ли способ полностью выключить компьютер?

Я безуспешно пробовал другие методы os.system("shutdown ___").

Есть ли другой метод, который может помочь?

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

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

10 ответов 10

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

Одна из проблем заключается в том, что он оставляет сообщение: "Вы выйдете из системы менее чем через минуту" . Другое дело, что если кто-то поместит пакетный скрипт с именем shutdown.bat вместе со скриптом, он не будет работать, это также угроза безопасности, поскольку этот файл будет выполнен. Подпроцесс теперь должен использоваться поверх os.system() .

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

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

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

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

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

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

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

Параметры:

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

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

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

Существует много других возможных функций, полный список см. в документации.

Второй аргумент:

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

Межплатформенность:

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

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

Кроме того, он не беспокоит пользователей сообщением "Вы выйдете из системы менее чем через минуту", как это делает shutdown -s, а выполняется автоматически.

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

  • Выключить компьютер
  • Немедленно выключите компьютер
  • Выключение компьютера в заданное пользователем время
  • Перезагрузите компьютер
  • Немедленно перезагрузите компьютер
  • Перезагрузить компьютер в заданное пользователем время
  • Выключить/перезагрузить компьютер по выбору пользователя
  • Завершение работы системы на базе Linux

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

Внимание! Обязательно сохраните и закройте все документы перед выполнением любой программы, указанной ниже. Потому что после выполнения этих кодов (программ) ваша система выключается/перезагружается, и вы можете потерять несохраненные документы.

Чтобы выключить или перезагрузить компьютерную систему (ПК или ноутбук) с помощью кода Python, необходимо сначала импортировать библиотеку os, а затем использовать os.system() следующим образом:

чтобы выключить систему. Замените /s на /r, чтобы перезапустить систему. Теперь давайте создадим программу на Python для выполнения этой задачи.

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

Эта программа на Python выключила компьютер по истечении времени по умолчанию, т. е. 30 секунд. Как только вы запустите приведенную ниже программу, ваш компьютер выключится через 30 секунд:

Примечание. Перед запуском этой программы закройте все документы.

Примечание. Модуль os предоставляет функции для взаимодействия с операционной системой.

Примечание. Метод os.system() используется для выполнения команды в подоболочке. Здесь команда имеет тип string.

Немедленно выключите компьютер

Чтобы немедленно отключить систему, установите таймер на 0 секунд. Чтобы система выключилась в течение 0 секунд или немедленно, как показано в этой программе:

Примечание. /t 0 — это дополнительный код, добавленный в эту программу (по сравнению с предыдущей). Здесь /t означает таймер, а 0 означает 0 секунд. Поэтому после выполнения этой программы система выключается в течение 0 секунд.

Выключить компьютер в заданное время

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

Вот исходный результат, полученный этой программой на Python:

python shutdown computer

Теперь введите количество секунд, скажем, 10, чтобы выключить систему через 10 секунд.

Примечание: str(sec) используется для преобразования sec (значение целочисленного типа) в строку. Потому что использовать оператор + для объединения двух строковых значений. То есть strOne и strTwo. Вторая строка — это значение таймера, введенное пользователем.

Перезагрузите компьютер с помощью Python

Чтобы перезагрузить компьютерную систему с помощью программы Python, просто замените /s на /r в программе, предназначенной для завершения работы системы. Остальные вещи будут такими же, как показано в программе, приведенной ниже:

Немедленно перезагрузите компьютер

Эта программа на Python перезагружает компьютер через 0 секунд или немедленно:

Перезагрузить компьютер через заданное время

Эта программа аналогична программе, заданной при выключении компьютера в заданный период времени. Единственное, что нужно сделать, это заменить следующий оператор:

с заявлением, приведенным ниже:

Примечание. Всего лишь вопрос s и r изменяет всю программу.

Примечание. Также замените слово Shutdown на Restart из сообщения печати.

Выключение и перезапуск по выбору пользователя

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

Эта программа Python запрашивает у пользователя выбор для выполнения желаемого действия. То есть предоставляется выбор для выполнения таких действий, как немедленное завершение работы, завершение работы в заданное время и т. д., как показано в приведенной ниже программе:

Вот снимок приведенной выше программы Python, дающий пользователю пять вариантов дальнейших действий, которые он/она хочет сделать. То есть либо выключение, либо перезагрузка, либо выход из программы:

python перезагрузить компьютер

Если пользователь вводит 1 или 3 в качестве выбора, компьютер выключается/перезагружается сразу после нажатия клавиши ENTER. И когда пользователь вводит 2 в качестве выбора, программа дополнительно просит ввести количество секунд для выключения системы:

выключение Python и перезагрузка компьютера

Теперь введите ввод, скажем, 180, чтобы выключить систему через 180 секунд или 3 минуты.

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

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

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

Эта строка является его частью:

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

Есть ли способ полностью выключить компьютер?

Я безуспешно пробовал другие методы os.system("shutdown ___").

Есть ли другой метод, который может помочь?

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

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

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

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

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

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

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

Параметры:

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

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

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

Существует много других возможных функций, полный список см. в документации.

Второй аргумент:

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

Межплатформенность:

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

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

Кроме того, он не беспокоит пользователей сообщением "Вы выйдете из системы менее чем через минуту", как это делает shutdown -s, а выполняется автоматически.

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

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

В этом учебном пособии «Как выключить компьютер с помощью голосовых команд Python» мы увидим библиотеки Python для аудио, распознавания речи и преобразования текста в речь. Используя эти библиотеки, мы пишем программу Python для выключения ПК с помощью голосовой команды.

Команда выключения

Отключение — это стандартная библиотека, предоставляемая операционной системой (Windows, Linux и т. д.). Эта команда имеет различные доступные параметры, и вы можете выполнять различные операции. Ниже вы увидите параметры, доступные в команде выключения.

параметры отключения

команда выключения

приведенная ниже команда используется для выключения ПК через 3 секунды.

Необходимые библиотеки Python

  • Pyaudio. Pyaudio — это привязка Python к библиотеке Portaudio, которая используется для приема аудиосигналов от пользователей. Это библиотека ввода/вывода.
  • SpeechRecognition. speech_recognition — это библиотека Python, используемая для преобразования речи в текст. Для анализа речи используется механизм распознавания речи Google.
  • pyttsx3 — это библиотека Python, используемая для преобразования текста в речь.

Если вы хотите узнать удивительные факты о Python, нажмите здесь

Программа Python для выключения ПК

Нижеприведенный код используется для приема пользовательского ввода в виде голосовой команды

Нижеприведенный метод speak() используется для преобразования текста в речь.

Ниже приведен полный код программы для выключения ПК

Спасибо, ребята, что прочитали, как выключить компьютер с помощью голосовых команд Python. Ребята, если вы хотите прочитать наш блог, связанный с Python, нажмите здесь.

  • Следующая статья12 лучших расширений Chrome для повышения производительности веб-разработчиков
  • Предыдущая историяFlask vs Django | Что лучше фляга или Джанго? | Flask или Django для машинного обучения в 2020 году

Вам также может понравиться.

Что такое большие данные | 3 типа больших данных | Типы больших данных | Структурированные данные | Неструктурированные данные

автор: dynast.dev · Опубликовано 22 июля 2020 г. · Последнее изменение 1 сентября 2020 г.

Как экспортировать файлы Excel в Laravel 8

автор: dynast.dev · Опубликовано 1 октября 2021 г. · Последнее изменение 2 октября 2021 г.

Фласк против Джанго | Что лучше фляга или Джанго? | Flask или Django для машинного обучения в 2020 году

25 сентября 2020 г.

автор: dynast.dev · Опубликовано 25 сентября 2020 г. · Последнее изменение 24 сентября 2020 г.

Читайте также: