iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >利用Python实现Windows定时关机功能
  • 569
分享到

利用Python实现Windows定时关机功能

定时关机功能Python 2022-06-04 18:06:11 569人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

是最初的几个爬虫,让我认识了python这个新朋友,虽然才刚认识了几天,但感觉有种莫名的默契感。每当在别的地方找不到思路,总能在Python找到解决的办法。自动关机,在平时下载大文件,以及跑程序的时候能用到

是最初的几个爬虫,让我认识了python这个新朋友,虽然才刚认识了几天,但感觉有种莫名的默契感。每当在别的地方找不到思路,总能在Python找到解决的办法。自动关机,在平时下载大文件,以及跑程序的时候能用到的,刚才写了个windows自动关机的小程序,程序过于简单,就当是玩玩吧,当然还有很多可改进的地方。下面正文:

#ui制作:

  照旧,笔者由Qt制作完成需要的ui,包括label,label_2,label_3,lable_4,lineEdit,lineEdit_2,pushButton组件.大致布局如下

查看图片

两个lineEdit等待用户输入期望关机的时间。下面的Label用来显示操作后的返回信息。pushButton用于提交命令。ui制作完成。

ui转为py文件:

  这里笔者装的是PyQt5,并添加了环境变量。所以转化的cmd命令(cd到ui所在目录):


pyuic5 shut.ui -o shut.py

执行成功之后在ui所在目录生成shut.py文件。

#显示窗口:

  直接生成的py文件运行是看不到窗口的,我们要加上一些必要的内容才能显示我们的窗口:

代码最上面加上


import sys

最后加上


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_())

之后再运行shut.py就能看到窗口了。

#功能实现:

  思考一下程序的期望功能,使Windows自动关机。cmd命令是个不错的选择。于是笔者找了下,python执行cmd命令的方法:


os.popen('at 22:30 shutdown -s')

调用cmd,执行命令。而其中的22和30是等待用户输入的数据。因此,应该用两个lineEdit中获取到的合法数字替换对应的h和m。用到获取lineEdit内容的方法:


h = self.lineEdit.text()
m = self.lineEdit_2.text()

然后以h,m替换执行命令中的时,分.

接着就是pushButton的部分了。为pushButton添加监听事件click。


self.pushButton = QtWidgets.QPushButton(shut,clicked=self.sd)

其中,self.sd为触发该事件后,需要执行的操作。

#完整代码:

  一些关键的部分,叙述完毕,至于返回信息部分,笔者在这里不再详述。下面贴出来Windows自动关机完整的代码:


# -*- 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_())

运行后,即出现如图操作窗口

查看图片

#运行效果:

运行shut.py,输入12和53点击set,这时我们查看任务计划:

查看图片

查看图片

发现任务已经在计划中。点击Remove,刷新任务计划。

查看图片

成功移除任务,功能实现

当然这只能在用户安装Python,并安装相关组件前提下才可运行。想要在任何windows使用,则需要下面的操作。

#打包:

  笔者打包用的是Python的Pyinstaller组件。cd 到shut.py所在目录后,执行cmd命令:


pyinstaller -w shut.py

这时,在shut.py所在目录生成dist文件夹。生成的exe路径。dist>>shut(Python源码文件名)>>shut.exe.前面顺利的话,双击shut.exe便会显示前面源码运行同样的窗口和操作。这样,你就可以把shut目录整个发给你的朋友。他们就可以通过双击shut.exe使用你的程序了。

以上所述是小编给大家介绍的利用Python实现Windows定时关机功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对编程网网站的支持!

--结束END--

本文标题: 利用Python实现Windows定时关机功能

本文链接: https://www.lsjlt.com/news/13556.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python tkinter实现定时关机
    本文实例为大家分享了python tkinter实现定时关机的具体代码,供大家参考,具体内容如下 很早以前写的,懒得修改,代码很简单,适合初学者 运行效果图如下: 使用注意 ...
    99+
    2024-04-02
  • C#实现关机功能
    在网上找的一个在C#中实现关机的类,非常简单,就是一个winapi的封装。在这里记录一下,以备不时之需。 public static class Shutdown { [St...
    99+
    2024-04-02
  • 批处理如何实现定时关机、注销、重启、锁定等功能
    这篇文章主要为大家展示了“批处理如何实现定时关机、注销、重启、锁定等功能”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“批处理如何实现定时关机、注销、重启、锁定等功能”这篇文章吧。代码如下:@EC...
    99+
    2023-06-08
  • 利用Python实现QQ实时到账免签支付功能
    原创 转载请注明出处 核心部分:解决QQ的登录验证问题 主要利用python的selenium库和QQ的快速登录实现登录网页 再利用抓到的json来输出今日的订单情况 直接上代码 ...
    99+
    2024-04-02
  • 怎么使用Python实现windows倒计时锁屏功能
    这篇文章主要介绍了怎么使用Python实现windows倒计时锁屏功能的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么使用Python实现windows倒计时锁屏功能文章都会有所收获,下面我们一起来看看吧。实...
    99+
    2023-07-06
  • 如何使用Python实现windows倒计时锁屏功能
    实现思路1)主要介绍了python实现windows倒计时锁屏功能python实现实windows倒计时锁屏功能 # 倒计时锁屏 import time from ctypes import * def closewindows(close...
    99+
    2023-05-14
    Python Windows
  • python中tkinter实现定时关机的方法
    这篇文章给大家分享的是有关python中tkinter实现定时关机的方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。python可以做什么Python是一种编程语言,内置了许多有效的工具,Python几乎无所不...
    99+
    2023-06-14
  • 利用Socket.io 实现消息实时推送功能
    项目背景介绍最近在写的项目中存在着社交模块,需要实现这样的一个功能:当发生了用户被点赞、评论、关注等操作时,需要由服务器向用户实时地推送一条消息。最终完成的项目地址为:https://github.com/noiron/socket-mes...
    99+
    2023-05-30
    socket.io 消息 推送
  • 如何利用Redis实现实时推送功能
    如何利用Redis实现实时推送功能,需要具体代码示例概述:实时推送功能是指当服务器端有更新时,能够实时将这些消息推送给客户端,例如在线聊天、消息通知等场景。Redis作为一款高性能的内存数据库,有着快速读写的特性,可以很好地支持实时推送功能...
    99+
    2023-11-07
    redis 功能实现 实时推送
  • 利用Android实现一个倒计时功能
    这篇文章给大家介绍利用Android实现一个倒计时功能,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。先上效果图activity_main.xml<&#63;xml version="1.0&qu...
    99+
    2023-05-31
    android roi
  • 自动在Windows中运行Python脚本并定时触发功能实现
    目录环境介绍 运行Python脚本:.bat文件举例: 定时在Windows中触发.bat文件(英文版系统)环境介绍 系统环境:Windows 10 Python...
    99+
    2024-04-02
  • VUE + OPENLAYERS实现实时定位功能
    目录前言一、定义标签样式二、模拟 GeoJSON 数据三、创建 VerctorLayer四、构建地图五、模拟实时移动总结前言 本系列文章介绍一个简单的实时定位示例,示例的组成主要包括...
    99+
    2024-04-02
  • Android实现定时任务功能
    本文实例为大家分享了Android实现定时任务功能的具体代码,供大家参考,具体内容如下 1、采用Handle与线程的sleep(long)方法 (1)、定义一个Handler类,用于...
    99+
    2024-04-02
  • python实现闹钟定时播放音乐功能
    可以使用Python的time模块和pygame库来实现闹钟定时播放音乐的功能。首先,需要安装pygame库:```pip inst...
    99+
    2023-08-16
    python
  • Python实现抖音热搜定时爬取功能
    目录抖音热搜榜requests爬取selenium爬取数据解析设置定时运行大家好,我是丁小杰。 上次和大家分享了Python定时爬取微博热搜示例介绍,堪称摸鱼神器,一个热榜不够看?今...
    99+
    2024-04-02
  • 如何在springboot中利用Quartz实现一个定时任务功能
    如何在springboot中利用Quartz实现一个定时任务功能?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一、新建一个springboot工程,并添加依赖<depen...
    99+
    2023-05-31
    springboot art quartz
  • 怎么利用Python实现QQ实时到账免签支付功能
    这篇文章主要介绍“怎么利用Python实现QQ实时到账免签支付功能”,在日常操作中,相信很多人在怎么利用Python实现QQ实时到账免签支付功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么利用Pytho...
    99+
    2023-06-09
  • Python利用sched模块实现定时任务
    目录牛刀小试进阶使用在固定时间执行任务执行多个任务以不同的优先级执行不同的任务定时任务加上取消方法执行备份程序执行定时分发邮件的程序今天我们来介绍一下Python当中的定时任务,主要...
    99+
    2023-05-14
    Python sched实现定时任务 Python sched定时任务 Python 定时任务 Python sched
  • JavaScript定时器实现限时秒杀功能
    本文实例为大家分享了JavaScript实现限时秒杀功能的具体代码,供大家参考,具体内容如下 文件index.html 代码: <!DOCTYPE html> <...
    99+
    2024-04-02
  • java实现自定义时钟并实现走时功能
    本文实例为大家分享了java自定义时钟并实现走时功能的具体代码,供大家参考,具体内容如下 效果图: 很多人想要自己用代码实现一个简单的时钟,显示时间,下面是我用JAVA写的一个时钟...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作