您的位置 首页 > 数码极客

电脑死机如何远程关机

目前市场上流行的远程关机软件有向日葵、蒲公英等,但都需要注册及收费,因为我工作的原因,有时候需要紧急外出,但也不知道什么时间回来,也许特别晚了,这时候我就想到如何实现,远程关机呢。

python语言,目前市场上比较火的一款软件,又因为前段时间,我对python语言进行过简单的学习,所以萌生了用python语言编写一款远程关机的小软件。

说动手就动手,下面简单介绍一下用python编写一款远程关机的小程序,此款软件对于python学习爱好者可以作为参考。

第一步:写代码

首先需要python语言学习的基础知识,比如基础的语法、语句等;

下面来说咱们用python编写远程关机软件的第一步,用python实现邮件发送功能,要实现邮件发送功能,需要用到pyzmail第三方的邮件库包,这个库包我就不具体介绍了,比python默认带的比默认smtplib和mime模块简单很多简单得多,关于第三方模块包的安装就不在细说了,随后写个关于第三方模块包的安装专题,不过提供一个网站可以下载。

1)写代码之前,需要先引入几个模块

import imapclient import os import time import pyzmail import datetime from datetime import date import win32api,win32con

2)编写一个txt文件,内容如下

******@qq.com # 邮箱 ******** # 关机命令,采用字母 ********** # qq邮箱授权码

3)读取txt文件代码

try: while True: # 继续执行循环 Filename = '; dt = da() with open(filename) as file_object: lines = () ()

4)pyzmai邮件读取代码,lines[0]是TXT文件的第一行邮箱名称,lines[2]是TXT文件的第三行邮箱授权码,下面会介绍如何获取邮箱授权码

imapobj = ima(';, ssl=True) # 连接到邮箱服务器 ima(lines[0].rstrip(), lines[2].rstrip()) # 登录到邮箱服务器 ima('INBOX', readonly=True) # 选择收件箱“邮件”文件夹 UIDs = ima([u'SINCE', date, dt.month, dt.day)]) # 选择给定日期的邮件

5)读取邮件内容

if len(UIDs) != 0: # 判断读取邮箱内是否有邮件 rawMessages = ima([UIDs[-1]], ['BODY[]', 'FLAGS']) # 读取最后一个邮件 message = (rawMessages[UIDs[-1]][b'BODY[]']) # 读取最后一个邮件的内容 zhu_ti = str()) # 读取邮件主题 lines[1] = str(lines[1].rstrip()) # txt文件内第二行内容,删除字符串末尾的空格

6)比较TXT文件内设置的关机密码(txt文件内第二行)与邮箱主题内读取内容:

lines[1] = str(lines[1].rstrip()) # txt文件内第二行内容,删除字符串末尾的空格 if z(): # 判断读取主题内容不为空值 zhu_ti = z() # 邮件主题内容转小写,避免比较字符串错误 lines[1] = lines[1].lower() # txt文件内第二行内容,设定关机密码字母转小写,避免比较字符串错误 # print('邮件主题:' + zhu_ti) if zhu_ti == lines[1]: # 比较邮件内主题内容与 txt文件内第二行内容,设定关机密码比较 # print("关机") ima(UIDs[-1]) # 删除电子邮件 ima() os.system('shutdown -s -t 60') # 执行关机命令

7)执行关机命令,删除关机命令邮件

if zhu_ti == lines[1]: # 比较邮件内主题内容与 txt文件内第二行内容,设定关机密码比较 # print("关机") ima(UIDs[-1]) # 删除电子邮件 ima() os.system('shutdown -s -t 60') # 执行关机命令

8)断开服务器连接,休眠30秒

ima() # 从IMAP服务器断开 (30) # 休眠30秒

9)休眠30秒后,继续上面步骤的循环

try: while True: # 继续执行循环 filename = '; dt = da()

10)抛出python运行异常,强制退出,无网络,密码错误

except BaseException as e: # 抛出异常 if isinstance(e, KeyboardInterrupt): # 强制停止运行 # Ctrl -C停止运行 win32a(0, "Ctrl -C停止运行;", "提醒",win32con.MB_OK) print('\nDone') os.exit(1) elif isinstance(e, ima): # 无网络异常 # 提醒OK消息框 win32a(0, "无网络,请检查网络;", "提醒",win32con.MB_OK) os.exit(1) elif isinstance(e, FileNotFoundError): # 发送的邮箱授权码密码不正确 win32a(0, "异常,请检查,邮箱与密码是否正确;", "提醒",win32con.MB_OK) print('\nDone') os.exit(1)

第二步:设置邮箱授权码

1)打开QQ邮箱

第二步:设置邮箱授权码

1)打开QQ邮箱

2)选择设置

3)打开设置—选择“账户”

4)账户—开启服务POP3/SMTP,需要发送短信验证

5)发送短信验证后记住邮箱授权码,把授权码写在TXT文件内第三行

第三步,远程关机电脑设定

1)打开电脑控制面板—选择电源管理

2)电源管理-选择更改计划

3)使计算机进入睡眠—改为“从不”—保存

第四步,测试

用手机或者电脑—发送邮件,发送到你在TXT文件第一行内设定邮箱内,主题填写TXT文件内第二行内容,邮件正文可以为空,发送邮件即可,随后奇迹出现了

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“电脑死机如何远程关机”边界阅读