python如何实现远程控制电脑(结合微信)


Posted in Python onDecember 21, 2015

不知道大家有没有这样一个烦恼,“自己的电脑总是被别人使用,又不好意思设置密码”,所以利用python设计了一个程序来实现自由管控。
功能虽然简单,但大家可以通过其思路来实现更多的功能。

大致功能主要是两个部分,

  • 一、电脑开机时,我的手机能收到通知。
  • 二、可以通过手机发个特定的mail,就可以控制电脑关机。

第一个步骤申请一个邮箱,使这个邮箱与你的手机号码绑定,然后你在这个邮箱中设定如果有新的邮件就发短信通知,这样开机时往这个邮箱发个mail,我手机就会收到短信通知了。

第二个步骤通过python 脚本,定时去检查163.com邮箱中是否有指定的邮件,如果有,则执行特定功能(我的是关机)。

第一步骤申请成功以后。手机也可以通过一个号码10658139来发送mail,编辑短信格式如:test@163.com(空格)主旨(空格)正文.

这样我如果想关机,就会用手机发个mail到163邮箱,主旨是'关机',程式检测到这个mail以后就会执行关机动作。
注意:手机发送邮件时的格式,注意读取邮件时get_payload的输出,根据输出和你发的邮件内容要匹配,当时我就遇到\n的问题。

回去后想了想,既然可以用手机邮箱控制,那么大家都用的是智能机咯,而且大家都比较喜欢玩微信,那么微信里面有个邮箱助手,实时提醒你新邮件,这样可以更方便的控制你自己的机子咯!!!!!

#!/etc/bin/env python
#-*-encoding=utf-8-*-
#auth@:dengyongkai
#blog@:blog.sina.com.cn/kaiyongdeng
 
import poplib,email
from email.header import decode_header
import smtplib
import time
import os,sys
import random
 
def accp_mail():
  try:
    p=poplib.POP3('pop.qq.com')
    p.user('用户名')
    p.pass_('密码')
    ret = p.stat()
  except poplib.error_proto,e:
    return 1
    print "Login failed:",e
    sys.exit(1)
#  for i in range(1,ret[0]+1):
#    str=s.top(i,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()=='startpc':
#      s.dele(i)
#      return 0
#    
#  s.quit()
#  return 1
#
  for item in p.list()[1]:
    number,octets = item.split(' ')
#    print "Message %s: %sbytes"%(number,octets)
    lines = p.retr(number)[1]
    msg = email.message_from_string("\n".join(lines))
#  print msg.as_string()
    print msg.get_payload()
    if msg.get_payload()=="start\n\n":
      return 0
 
def send_mail():
  try:
    handle = smtplib.SMTP('smtp.163.com', 25)
    handle.login('********@163.com','密码')
    msg = "To: ********@qq.com\r\nFrom: ********@163.com\r\nSubject: startpc \r\n\r\nstart\r\n"
    handle.sendmail('********@163.com','********@qq.com', msg)
    handle.close()
    return 1
  except:
    return 0
 
 
if __name__=='__main__':
  while send_mail()==0:
    time.sleep(2)
 
  while 1:
    time.sleep(5)
    if accp_mail()==0:
      os.system('shutdown -f -s -t 10 -c closing...')
      #print "哈哈哈哈哈哈哈,成功啦!!!!!!"
      break

以上就是python实现远程控制电脑的方法,解决了大家的烦恼,赶紧试验一下吧!

Python 相关文章推荐
python查找第k小元素代码分享
Dec 18 Python
Python的Twisted框架中使用Deferred对象来管理回调函数
May 25 Python
利用Python命令行传递实例化对象的方法
Nov 02 Python
python networkx 包绘制复杂网络关系图的实现
Jul 10 Python
python在openstreetmap地图上绘制路线图的实现
Jul 11 Python
python虚拟环境的安装和配置(virtualenv,virtualenvwrapper)
Aug 09 Python
python之yield和Generator深入解析
Sep 18 Python
python实现简单银行管理系统
Oct 25 Python
基于Python把网站域名解析成ip地址
May 25 Python
python编写实现抽奖器
Sep 10 Python
Python Pandas知识点之缺失值处理详解
May 11 Python
通过Python把学姐照片做成拼图游戏
Feb 15 Python
python从入门到精通(DAY 3)
Dec 20 #Python
python从入门到精通(DAY 2)
Dec 20 #Python
利用python代码写的12306订票代码
Dec 20 #Python
python从入门到精通(DAY 1)
Dec 20 #Python
在DigitalOcean的服务器上部署flaskblog应用
Dec 19 #Python
用ReactJS和Python的Flask框架编写留言板的代码示例
Dec 19 #Python
使用Python编写简单的端口扫描器的实例分享
Dec 18 #Python
You might like
PhpMyAdmin中无法导入sql文件的解决办法
2010/01/08 PHP
PHP 微信扫码支付源代码(推荐)
2016/11/03 PHP
TP5框架实现的数据库备份功能示例
2020/04/05 PHP
asp.net HttpHandler实现图片防盗链
2009/11/09 Javascript
javascript 浏览器检测代码精简版
2010/03/04 Javascript
强大的jquery插件jqeuryUI做网页对话框效果!简单
2011/04/14 Javascript
了不起的node.js读书笔记之例程分析
2014/12/22 Javascript
JavaScript中的数组操作介绍
2014/12/30 Javascript
在线所见即所得HTML编辑器的实现原理浅析
2015/04/25 Javascript
JavaScript实现把rgb颜色转换成16进制颜色的方法
2015/06/01 Javascript
jQuery validate插件submitHandler提交导致死循环解决方法
2016/01/21 Javascript
jQuery向父辈遍历的简单方法
2016/09/18 Javascript
JavaScript学习笔记整理_用于模式匹配的String方法
2016/09/19 Javascript
基于Bootstrap框架实现图片切换
2017/03/10 Javascript
基于AngularJS实现表单验证功能
2017/07/28 Javascript
vue-cli之router基本使用方法详解
2017/10/17 Javascript
BootStrap 标题设置跨行无效的解决方法
2017/10/25 Javascript
彻底理解js面向对象之继承
2018/02/04 Javascript
Vue二次封装axios为插件使用详解
2018/05/21 Javascript
深入理解react-router 路由的实现原理
2018/09/26 Javascript
layui table 表格模板按钮的实例代码
2019/09/21 Javascript
JS使用H5实现图片预览功能
2019/09/30 Javascript
基于JavaScript获取url参数2种方法
2020/04/17 Javascript
Ant Design的可编辑Tree的实现操作
2020/10/31 Javascript
关于Python 3中print函数的换行详解
2017/08/08 Python
Python内置模块logging用法实例分析
2018/02/12 Python
程序员写Python时的5个坏习惯,你有几条?
2018/11/26 Python
Python tcp传输代码实例解析
2020/03/18 Python
python openCV自制绘画板
2020/10/27 Python
巴西本土电商平台:Americanas
2020/06/21 全球购物
为什么要用EJB
2014/04/17 面试题
介绍一下XMLHttpRequest对象
2012/02/12 面试题
外企求职信范文分享
2013/12/31 职场文书
经典演讲稿汇总
2014/05/19 职场文书
民主评议党员工作总结
2014/10/20 职场文书
趣味运动会简讯
2015/07/20 职场文书