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

yipeiwu_com5年前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利用re,bs4,requests模块获取股票数据

python利用re,bs4,requests模块获取股票数据

今天闲来无聊无意间看到了百度股票,就想着用python爬一下数据,于是就找到了东方财经网,结合这两个网站,写了一个小爬虫,数据保存在文件中,比较简单的示例,就当做用来练习正则表达式和Be...

python 判断参数为Nonetype类型或空的实例

Nonetype和空值是不一致的,可以理解为Nonetype为不存在这个参数,空值表示参数存在,但是值为空 判断方式如下: if hostip is None: print...

python实现下载指定网址所有图片的方法

本文实例讲述了python实现下载指定网址所有图片的方法。分享给大家供大家参考。具体实现方法如下: #coding=utf-8 #download pictures of the u...

python中字符串内置函数的用法总结

capitalize() 首字母大写 a='someword' b=a.capitalize() print(b) —>Someword casefold()&l...

python 利用for循环 保存多个图像或者文件的实例

在实际应用中,会遇到保存多个文件或者图像的操作,利用for循环可以实现基本要求: for i in range(50): plt.savefig("%d.jpg"%(i+1))...