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中下划线的使用方法
Mar 27 Python
python字典get()方法用法分析
Apr 17 Python
Python 使用os.remove删除文件夹时报错的解决方法
Jan 13 Python
Python使用Turtle模块绘制五星红旗代码示例
Dec 11 Python
pandas中apply和transform方法的性能比较及区别介绍
Oct 30 Python
Python 微信爬虫完整实例【单线程与多线程】
Jul 06 Python
postman模拟访问具有Session的post请求方法
Jul 15 Python
探秘TensorFlow 和 NumPy 的 Broadcasting 机制
Mar 13 Python
keras 多任务多loss实例
Jun 22 Python
Python实现Canny及Hough算法代码实例解析
Aug 06 Python
Python中logging日志的四个等级和使用
Nov 17 Python
python ConfigParser库的使用及遇到的坑
Feb 12 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
php实现可运算的验证码
2015/11/10 PHP
PHP使用strrev翻转中文乱码问题的解决方法
2017/01/13 PHP
深入理解PHP的远程多会话调试
2017/09/21 PHP
php把文件设置为插件的技巧方法
2020/02/03 PHP
向大师们学习Javascript(视频与PPT)
2009/12/27 Javascript
js获取当前日期代码适用于网页头部
2013/06/27 Javascript
浅谈轻量级js模板引擎simplite
2015/02/13 Javascript
JSON与js对象序列化实例详解
2017/03/16 Javascript
bootstrap-table组合表头的实现方法
2017/09/07 Javascript
JavaScript实现随机数生成器(去重)
2017/10/13 Javascript
Vue的事件响应式进度条组件实例详解
2018/02/04 Javascript
vue强制刷新组件的方法示例
2019/02/28 Javascript
VUE组件中的 Drawer 抽屉实现代码
2019/08/06 Javascript
vue-cli3+typescript新建一个项目的思路分析
2019/08/06 Javascript
nuxt框架中对vuex进行模块化设置的实现方法
2019/09/06 Javascript
多页vue应用的单页面打包方法(内含打包模式的应用)
2020/06/11 Javascript
跟老齐学Python之集合的关系
2014/09/24 Python
深入浅出分析Python装饰器用法
2017/07/28 Python
在PyCharm中实现添加快捷模块
2020/02/12 Python
Python configparser模块操作代码实例
2020/06/08 Python
容易被忽略的Python内置类型
2020/09/03 Python
详解Python3 定义一个跨越多行的字符串的多种方法
2020/09/06 Python
详解如何获取localStorage最大存储大小的方法
2020/05/21 HTML / CSS
德国电子商城:ComputerUniverse
2017/04/21 全球购物
应届护士推荐信
2013/11/16 职场文书
服务员岗位职责
2014/01/29 职场文书
乡镇交通安全实施方案
2014/03/29 职场文书
运动会口号16字
2014/06/07 职场文书
欢迎领导检查标语
2014/06/27 职场文书
停车位租赁协议书
2014/09/24 职场文书
高中生综合素质自我评价
2015/03/06 职场文书
企业投资意向书
2015/05/09 职场文书
求职自我评价参考范文
2019/05/16 职场文书
2019事业单位个人工作总结范文
2019/08/26 职场文书
无线电通信名词解释
2022/02/18 无线电
【海涛dota解说】海涛小满开黑4v5被破两路翻盘潮汐第一视角解说
2022/04/01 DOTA