Maison > développement back-end > Tutoriel Python > Exemple de code pour implémenter la fonction d'arrêt programmé de Windows en Python

Exemple de code pour implémenter la fonction d'arrêt programmé de Windows en Python

高洛峰
Libérer: 2017-03-22 09:17:48
original
2391 Les gens l'ont consulté

Ce sont les premiers robots qui m'ont présenté ce nouvel ami, Python Même si je ne me connaissais que depuis quelques jours, j'ai ressenti un sentiment inexplicable de compréhension tacite. Chaque fois que vous ne trouvez pas d’idée ailleurs, vous pouvez toujours trouver une solution en Python. L'arrêt automatique peut être utilisé lors du téléchargement de fichiers volumineux ou de l'exécution de programmes. Je viens d'écrire un petit programme pour l'arrêt automatique de Windows. Le programme est trop simple, alors traitez-le simplement comme un jeu. Bien sûr, il existe de nombreux domaines à améliorer. Texte ci-dessous :

#ui production :

Comme d'habitude, l'auteur a utilisé Qt pour produire l'interface utilisateur requise, y compris les composants label, label_2, label_3, lable_4, lineEdit, lineEdit_2, pushButton. la disposition est la suivante

Exemple de code pour implémenter la fonction darrêt programmé de Windows en Python

Les deux modifications de ligne attendent que l'utilisateur entre l'heure d'arrêt souhaitée. L'étiquette suivante est utilisée pour afficher les informations de retour après l'opération. pushButton est utilisé pour soumettre des commandes. La production de l'interface utilisateur est terminée.

ui converti en fichier py :

Ici, l'auteur a installé PyQt5 et ajouté des variables d'environnement . Par conséquent, la commande cmd convertie (cd dans le répertoire où se trouve ui) :

pyuic5 shut.ui -o shut.py
Copier après la connexion

Après une exécution réussie, le fichier shutdown.py est généré dans le répertoire où se trouve ui.

#Fenêtre d'affichage :

Vous ne pouvez pas voir la fenêtre lors de l'exécution du fichier py directement généré. Nous devons ajouter du contenu nécessaire pour afficher notre fenêtre :

Code Add <.>

import sys
Copier après la connexion
en haut et enfin ajoutez

if name == 'main': 
 app = QtWidgets.QApplication(sys.argv)
 Form = QtWidgets.QWidget()
 ui = Ui_x()//其中Ui_x为生成的class名
 ui.setupUi(Form) 
 Form.show()
 sys.exit(app.exec_())
Copier après la connexion
puis exécutez shutdown.py pour voir la fenêtre.

#Implémentation de la fonction :

Pensez à la fonction souhaitée du programme pour que Windows s'arrête automatiquement. La commande cmd est un bon choix. L'auteur a donc cherché un moyen d'exécuter des commandes cmd en python :

os.popen('at 22:30 shutdown -s')
Copier après la connexion
Appelez cmd pour exécuter la commande. Parmi eux, 22 et 30 sont des données en attente de saisie par l'utilisateur. Par conséquent, les h et m correspondants doivent être remplacés par les nombres légaux obtenus dans les deux lignesEdit. Utilisez la méthode pour obtenir le contenu de lineEdit :

h = self.lineEdit.text()
m = self.lineEdit_2.text()
Copier après la connexion
Remplacez ensuite les heures et les minutes dans la commande d'exécution par h, m

Ensuite, il y a la partie pushButton. Ajoutez un écouteur pour l'événement pushButton

clic.

self.pushButton = QtWidgets.QPushButton(shut,clicked=self.sd)
Copier après la connexion
Parmi eux, self.sd est l'opération qui doit être effectuée après le déclenchement de l'événement.

#Code complet :


Certaines parties clés ont été décrites Quant à la partie informations de retour, l'auteur ne développera pas ici. Le code complet pour l'arrêt automatique de Windows est publié ci-dessous :

# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'shut.ui'
#
# Created: Mon Mar 20 18:10:31 2017
#  by: PyQt5 UI code generator 5.2.1
#
# WARNING! All changes made in this file will be lost!
import sys
import os
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_shut(object):
 flag = True
 def setupUi(self, shut):
  shut.setObjectName("shut")
  shut.resize(411, 170)
  shut.setFixedSize(411,170)
  self.label = QtWidgets.QLabel(shut)
  self.label.setGeometry(QtCore.QRect(40, 50, 41, 51))
  self.label.setFont(QtGui.QFont("Roman times",10,QtGui.QFont.Bold))
  self.label.setObjectName("label")
  self.lineEdit = QtWidgets.QLineEdit(shut)
  self.lineEdit.setGeometry(QtCore.QRect(70, 50, 71, 41))
  self.lineEdit.setFont(QtGui.QFont("Roman times",10,QtGui.QFont.Bold))
  self.lineEdit.setObjectName("lineEdit")
  self.label_2 = QtWidgets.QLabel(shut)
  self.label_2.setGeometry(QtCore.QRect(150, 60, 31, 31))
  self.label_2.setFont(QtGui.QFont("Roman times",10,QtGui.QFont.Bold))
  self.label_2.setObjectName("label_2")
  self.lineEdit_2 = QtWidgets.QLineEdit(shut)
  self.lineEdit_2.setGeometry(QtCore.QRect(180, 50, 71, 41))
  self.lineEdit_2.setFont(QtGui.QFont("Roman times",10,QtGui.QFont.Bold))
  self.lineEdit_2.setObjectName("lineEdit_2")
  self.label_3 = QtWidgets.QLabel(shut)
  self.label_3.setGeometry(QtCore.QRect(260, 60, 31, 31))
  self.label_3.setFont(QtGui.QFont("Roman times",10,QtGui.QFont.Bold))
  self.label_3.setObjectName("label_3")
  self.pushButton = QtWidgets.QPushButton(shut,clicked=self.sd)
  self.pushButton.setGeometry(QtCore.QRect(290, 50, 101, 41))
  self.pushButton.setFont(QtGui.QFont("Roman times",10,QtGui.QFont.Bold))
  self.pushButton.setObjectName("pushButton")
  self.label_4 = QtWidgets.QLabel(shut)
  self.label_4.setGeometry(QtCore.QRect(0, 120, 411, 31))
  self.label_4.setFont(QtGui.QFont("Roman times",10,QtGui.QFont.Bold))
  self.label_4.setObjectName("label_4")
  self.retranslateUi(shut)
  QtCore.QMetaObject.connectSlotsByName(shut)
 def retranslateUi(self, shut):
  _translate = QtCore.QCoreApplication.translate
  shut.setWindowTitle(_translate("shut", "Auto Shutdown by dearvee"))
  self.label.setText(_translate("shut", "At:"))
  self.label_2.setText(_translate("shut", "H"))
  self.label_3.setText(_translate("shut", "M"))
  self.label_4.setText(_translate("shut", "Please input time of shutdown~"))
  self.pushButton.setText(_translate("shut", "Set"))
 def sd(self,shut):
  h = self.lineEdit.text()
  m = self.lineEdit_2.text()
  if self.flag:
   self.flag = False
   try:
    os.popen('at '+h+':'+m+' shutdown -s')
    self.label_4.setText('Success! the system will shutdown at today '+h+':'+m+'.')
    self.pushButton.setText('Remove all')
    self.lineEdit.clear()
    self.lineEdit_2.clear()
   except:
    self.label_4.setText('Something is wrong~')
  else:
   self.flag = True
   try:
    os.popen('at /delete /yes')
    self.label_4.setText('Success! already removed~')
    self.pushButton.setText('Set')
    self.lineEdit.clear()
    self.lineEdit_2.clear()
   except:
    self.label_4.setText('Something is wrong~')
if name == 'main': 
 app = QtWidgets.QApplication(sys.argv)
 Form = QtWidgets.QWidget()
 ui = Ui_shut()
 ui.setupUi(Form) 
 Form.show()
 sys.exit(app.exec_())
Copier après la connexion
Après l'exécution, la fenêtre d'opération illustrée ci-dessous apparaîtra

Exemple de code pour implémenter la fonction darrêt programmé de Windows en Python

# Effet d'exécution :

Exécutez shutdown.py, entrez 12 et 53 et cliquez sur définir. Ensuite, nous vérifions le plan de tâches :

Exemple de code pour implémenter la fonction darrêt programmé de Windows en Python

Exemple de code pour implémenter la fonction darrêt programmé de Windows en Python

. Il s'avère que la tâche est déjà dans Planifié. Cliquez sur Supprimer pour actualiser le plan de tâches.

Exemple de code pour implémenter la fonction darrêt programmé de Windows en Python

La tâche est supprimée avec succès et la fonction est implémentée

Bien entendu, cela ne peut être exécuté que si l'utilisateur installe Python et installe les composants associés. Si vous souhaitez l'utiliser sur n'importe quelle fenêtre, vous avez besoin des opérations suivantes.

#Packaging :

L'auteur utilise le composant Pyinstaller de Python pour l'empaquetage. Après cd dans le répertoire où se trouve Shut.py, exécutez la commande cmd :

pyinstaller -w shut.py
Copier après la connexion
À ce stade, un dossier dist est généré dans le répertoire où se trouve Shut.py. Chemin d’accès exe généré. dist>>shut (nom du fichier de code source Python)>>shut.exe. Si tout se passe bien, double-cliquez sur shutdown.exe pour afficher la même fenêtre et la même opération que le code source précédent. De cette façon, vous pouvez envoyer l'intégralité du répertoire d'arrêt à vos amis. Ils peuvent ensuite utiliser votre programme en double-cliquant sur shutdown.exe.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal