Python3.4实现远程控制电脑开关机

yipeiwu_com6年前Python基础

本文实例为大家分享了Python实现远程操控电脑的具体代码,供大家参考,具体内容如下

import poplib 
import sys 
import smtplib 
from email.mime.text import MIMEText 
import os 
from email.header import decode_header 
import email 
import time 
def check_email(): 
 try: 
  p = poplib.POP3('pop.163.com') 
  p.user('*****@163.com') 
  p.pass_('*******') 
  ret = p.stat() 
 except: 
  print('Login failed!') 
  sys.exit(1) 
 str = p.top(ret[0], 0) 
 strlist = [] 
 for x in str[1]: 
   try: 
    strlist.append(x.decode()) 
   except: 
    try: 
     strlist.append(x.decode('gbk')) 
    except: 
     strlist.append((x.decode('big5'))) 
 mm = email.message_from_string('\n'.join(strlist)) 
 sub = decode_header(mm['subject']) 
 if sub[0][1]: 
  submsg = sub[0][0].decode(sub[0][1]) 
 else: 
  submsg = sub[0][0] 
 if submsg.strip() == '关机': 
  return 0 
 elif submsg.strip() == '重启': 
  return 1 
 p.quit() 
def send_email(): 
 user = '*******@qq.com' 
 pwd = '**********' 
 to = ['*****@163.com', '*****@139.com']  #139邮件会有短信提醒,让我知道是否成功 
 msg = MIMEText('') 
 msg['Subject'] = '已收到命令!' 
 msg['From'] = user 
 msg['To'] = ','.join(to) 
 s = smtplib.SMTP('smtp.qq.com') 
 s.login(user, pwd) 
 s.sendmail(user, to, msg.as_string()) 
 s.close() 
 
if __name__ == '__main__': 
 while True: 
  time.sleep(20) 
  if check_email() == 0: 
   send_email() 
   os.system('shutdown -s -t 1') #关机 
   break 
  if check_email() == 1: 
   send_email() 
   os.system('shutdown -r')  #重启 
   break 

测试成功 

其它命令自行添加,这里只作 关机和重启. 脑洞大开!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

详细解析Python中的变量的数据类型

详细解析Python中的变量的数据类型

 变量是只不过保留的内存位置用来存储值。这意味着,当创建一个变量,那么它在内存中保留一些空间。 根据一个变量的数据类型,解释器分配内存,并决定如何可以被存储在所保留的内存中。因...

使用celery执行Django串行异步任务的方法步骤

前言 Django项目有一个耗时较长的update过程,希望在接到请求运行update过程的时候,Django应用仍能正常处理其他的请求,并且update过程要求不能并行,也不能漏掉任何...

Flask框架的学习指南之用户登录管理

继续flask的学习之旅。今天介绍flask的登陆管理模块,还记得上一篇中的blog小项目么,登录是咱们自己写的验证代码,大概有以下几个步骤: 1、在登录框中输入用户名和密码 2、fla...

Python中关于浮点数的冷知识

本周的PyCoder's Weekly 上分享了一篇小文章,它里面提到的冷知识很有意思,我稍作补充,分享给大家。 它提到的部分问题,读者们可以先思考下: 若两个元组相等,即 a==...

Django中间件工作流程及写法实例代码

Django中间件工作流程及写法实例代码

熟悉web开发的同学对hook钩子肯定不陌生,通过钩子可以方便的实现一些触发和回调,并且做一些过滤和拦截。 django中的中间件(middleware)就是类似钩子的一种存在。下面我们...