python实现电脑自动关机


Posted in Python onJune 20, 2018

0、前言

在以前读书的时候,实验室里面要求每天都要关电脑,有时候出去玩得晚了,懒得回实验室关电脑,又没有同学帮忙。于是就想,能不能通过什么手段实现远程关闭电脑。在网上搜索一番后,决定用 python + email,实现远程关闭电脑。

1、准备

python: 3.5.2 email:163邮箱 system:Win10
安装依赖包email:在python安装目录下/Scripts下执行:pip install email
设置163邮箱的POP3/SMTP服务 : 登录163邮箱 ?> 设置 ?> POP3/SMTP/IMAP ?> 勾选POP3/SMTP服务

2、说明

执行py程序后,程序将每隔10分钟(时间可以自己设置)读取一次邮箱最新邮件,解析获得邮件主题,当主题为“关机”时,程序将关闭电脑,为“重启”时,将重启电脑。在长时间离开电脑时,可以将py程序跑起来,如果需要关机或重启,可以向邮箱发一封邮件即可

3、代码

# -*- coding:utf-8 -*-
import os
import time
import poplib
import email
from email.header import decode_header
#========================================
# 读取Email,获取Email主题
#========================================
def getEmailSubject():
  read = poplib.POP3('pop.163.com')
  read.user('xxx@163.com')# 163邮箱用户名
  read.pass_('xxx')    # 163邮箱设置中的客户端授权密码
  allEmails = read.stat() # 读取邮件信息
  topEmail = read.top(allEmails[0], 0) # 获取最新的一封邮件
  tmp = []
  # 解码邮件,存入tmp
  for s in topEmail[1]:
    try:
      tmp.append(s.decode())
    except:
      try:
        tmp.append(s.decode('gbk'))
      except:
        tmp.append(s.decode('big5'))
  message = email.message_from_string('\n'.join(tmp))
  # 获取邮件主题
  subject = decode_header(message['Subject'])
  if subject[0][1]:
    subjectDecode = subject[0][0].decode(subject[0][1])
  else:
    subjectDecode = subject[0][0]
  return subjectDecode
#=========================================
# 检查Email的主题
#=========================================
def checkEmailSubject():  
  while True:
    subject = getEmailSubject()  
    print('check subject ...')
    print('subject is ' + subject)
    if subject == '重启':
      os.system('shutdown -r -t 3')
      break    
    if subject == '关机':
      os.system('shutdown -s -t 3')
      break
    time.sleep(600) # 每10分钟检查一次

if __name__ == '__main__':
  checkEmailSubject()

4、结束语

不过自打我工作半年来,一共也就只关过3、4次电脑

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
使用go和python递归删除.ds store文件的方法
Jan 22 Python
使用python分析git log日志示例
Feb 27 Python
python实现批量获取指定文件夹下的所有文件的厂商信息
Sep 28 Python
Python开发最牛逼的IDE——pycharm
Aug 01 Python
Python3中的bytes和str类型详解
May 02 Python
解决Pyinstaller 打包exe文件 取消dos窗口(黑框框)的问题
Jun 21 Python
Django模型修改及数据迁移实现解析
Aug 01 Python
centos7中安装python3.6.4的教程
Dec 11 Python
解决windows下python3使用multiprocessing.Pool出现的问题
Apr 08 Python
Python利用matplotlib绘制散点图的新手教程
Nov 05 Python
python中super()函数的理解与基本使用
Aug 30 Python
如何在python中实现ECDSA你知道吗
Nov 23 Python
python3将视频流保存为本地视频文件
Jun 20 #Python
Python操作MySQL数据库的方法
Jun 20 #Python
python实现抖音视频批量下载
Jun 20 #Python
Python 类的特殊成员解析
Jun 20 #Python
python实现音乐下载的统计
Jun 20 #Python
django2用iframe标签完成网页内嵌播放b站视频功能
Jun 20 #Python
python基于http下载视频或音频
Jun 20 #Python
You might like
php初学者写及时补给skype用户充话费的小程序
2008/11/02 PHP
php Try Catch异常测试
2009/03/01 PHP
一步一步学习PHP(7) php 字符串相关应用
2010/03/05 PHP
php中时间轴开发(刚刚、5分钟前、昨天10:23等)
2011/10/03 PHP
PHP里8个鲜为人知的安全函数分析
2014/12/09 PHP
PHP基于openssl实现的非对称加密操作示例
2019/01/11 PHP
laravel 实现关闭CSRF(全部关闭、部分关闭)
2019/10/21 PHP
Aster vs Newbee BO5 第二场2.19
2021/03/10 DOTA
js 处理URL实用技巧
2010/11/23 Javascript
jquery win 7透明弹出层效果的简单代码
2013/08/06 Javascript
jquery中map函数遍历数组用法实例
2015/05/18 Javascript
Node.js实现兼容IE789的文件上传进度条
2016/09/02 Javascript
Angular学习笔记之angular的$filter服务浅析
2016/11/12 Javascript
基于JavaScript实现熔岩灯效果导航菜单
2017/01/04 Javascript
原生js实现类似fullpage的单页/全屏滚动
2017/01/22 Javascript
vue调用语音播放的方法
2019/09/27 Javascript
Vue el-autocomplete远程搜索下拉框并实现自动填充功能(推荐)
2019/10/25 Javascript
Python实现从url中提取域名的几种方法
2014/09/26 Python
python基础教程之匿名函数lambda
2017/01/17 Python
解决PyCharm中光标变粗的问题
2017/08/05 Python
Django自定义manage命令实例代码
2018/02/11 Python
使用python对excle和json互相转换的示例
2018/10/23 Python
python游戏开发之视频转彩色字符动画
2019/04/26 Python
Python scipy的二维图像卷积运算与图像模糊处理操作示例
2019/09/06 Python
wxPython实现文本框基础组件
2019/11/18 Python
Python绘制三角函数图(sin\cos\tan)并标注特定范围的例子
2019/12/04 Python
centos7中安装python3.6.4的教程
2019/12/11 Python
Python3自定义json逐层解析器代码
2020/05/11 Python
MIKI HOUSE美国官方网上商店:日本领先的婴儿和儿童高级时装品牌
2020/06/21 全球购物
会计专业毕业生推荐信
2013/11/05 职场文书
建材业务员岗位职责
2013/12/08 职场文书
关于期中考试的反思
2014/02/02 职场文书
电力安全事故反思
2014/04/27 职场文书
优秀校长事迹材料
2014/12/24 职场文书
英文感谢信范文
2015/01/21 职场文书
班干部学习委员竞选稿
2015/11/20 职场文书