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实现同时兼容老版和新版Socket协议的一个简单WebSocket服务器
Jun 04 Python
Python栈类实例分析
Jun 15 Python
Python简单计算文件夹大小的方法
Jul 14 Python
浅谈python 读excel数值为浮点型的问题
Dec 25 Python
python @classmethod 的使用场合详解
Aug 23 Python
浅谈Python type的使用
Nov 19 Python
python机器学习库xgboost的使用
Jan 20 Python
Django models文件模型变更错误解决
May 11 Python
Python logging日志模块 配置文件方式
Jul 12 Python
详解python 内存优化
Aug 17 Python
python 实时调取摄像头的示例代码
Nov 25 Python
pandas将list数据拆分成行或列的实现
Dec 13 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+mysql实现用户注册登陆的方法
2015/01/03 PHP
基于JQuery+PHP编写砸金蛋中奖程序
2015/09/08 PHP
thinkPHP通用控制器实现方法示例
2017/11/23 PHP
Laravel框架生命周期与原理分析
2018/06/12 PHP
JavaScript和ActionScript的交互实现代码
2010/08/01 Javascript
jQuery+HTML5实现图片上传前预览效果
2015/08/20 Javascript
jQuery获取checkboxlist的value值的方法
2015/09/27 Javascript
JS+CSS实现闪烁字体效果代码
2016/04/05 Javascript
jq给页面添加覆盖层遮罩的实例
2017/02/16 Javascript
JavaScript模块化之使用requireJS按需加载
2017/04/12 Javascript
详谈jQuery中使用attr(), prop(), val()获取value的异同
2017/04/25 jQuery
JavaScript之promise_动力节点Java学院整理
2017/07/03 Javascript
Vue实现typeahead组件功能(非常靠谱)
2017/08/26 Javascript
vuejs选中当前样式active的实例
2018/08/22 Javascript
详解Vue项目在其他电脑npm run dev运行报错的解决方法
2018/10/29 Javascript
前端路由&webpack基础配置详解
2019/06/10 Javascript
python函数装饰器用法实例详解
2015/06/04 Python
利用Python实现颜色色值转换的小工具
2016/10/27 Python
python实现树形打印目录结构
2018/03/29 Python
Python使用pandas和xlsxwriter读写xlsx文件的方法示例
2019/04/09 Python
python中的itertools的使用详解
2020/01/13 Python
python实现将两个文件夹合并至另一个文件夹(制作数据集)
2020/04/03 Python
jupyter notebook中美观显示矩阵实例
2020/04/17 Python
如何创建一个Flask项目并进行简单配置
2020/11/18 Python
基于 HTML5 Canvas实现 的交互式地铁线路图
2018/03/05 HTML / CSS
全球速卖通法国在线交易平台:AliExpress法国
2017/07/07 全球购物
Nike德国官网:Nike.com (DE)
2018/11/13 全球购物
丝芙兰加拿大官方网站:SEPHORA加拿大
2018/11/20 全球购物
美体小铺波兰官方网站:The Body Shop波兰
2019/09/03 全球购物
英国电气世界:Electrical World
2019/09/08 全球购物
一套VC试题
2015/01/23 面试题
2014年师德师风工作总结
2014/11/25 职场文书
离婚协议书怎么写的
2014/12/14 职场文书
筑梦中国心得体会
2016/01/18 职场文书
在 SQL 语句中处理 NULL 值的方法
2021/06/07 SQL Server
疑《守望先锋2》A测截图泄露 或将推出新模式、新界面
2022/04/03 其他游戏