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异常处理总结
Aug 15 Python
python返回昨天日期的方法
May 13 Python
linux下python抓屏实现方法
May 22 Python
python类继承用法实例分析
May 27 Python
Python实现的购物车功能示例
Feb 11 Python
Python实现抓取HTML网页并以PDF文件形式保存的方法
May 08 Python
Python简单获取二维数组行列数的方法示例
Dec 21 Python
详解小白之KMP算法及python实现
Apr 04 Python
django admin后台添加导出excel功能示例代码
May 15 Python
详解用pyecharts Geo实现动态数据热力图城市找不到问题解决
Jun 26 Python
python2和python3应该学哪个(python3.6与python3.7的选择)
Oct 01 Python
python使用建议与技巧分享(二)
Aug 17 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
yii框架源码分析之创建controller代码
2011/06/28 PHP
php自定文件保存session的方法
2014/12/10 PHP
thinkPHP使用post方式查询时分页失效的解决方法
2015/12/09 PHP
Zend Framework自定义Helper类相关注意事项总结
2016/03/14 PHP
php基于ob_start(ob_gzhandler)实现网页压缩功能的方法
2017/02/18 PHP
Linux服务器下PHPMailer发送邮件失败的问题解决
2017/03/04 PHP
thinkPHP框架实现的短信接口验证码功能示例
2018/06/20 PHP
Laravel框架实现多数据库连接操作详解
2019/07/12 PHP
javascript hasFocus使用实例
2010/06/29 Javascript
解决ueditor jquery javascript 取值问题
2014/12/30 Javascript
jquery实现textarea 高度自适应
2015/03/11 Javascript
javascript实现相同事件名称,不同命名空间的调用方法
2015/06/26 Javascript
JavaScript 消息框效果【实现代码】
2016/04/27 Javascript
浅谈JavaScript变量的自动转换和语句
2016/06/12 Javascript
jQuery实现的动态文字变化输出效果示例【附演示与demo源码下载】
2017/03/24 jQuery
JavaScript实现的超简单计算器功能示例
2017/12/23 Javascript
小程序显示弹窗时禁止下层的内容滚动实现方法
2019/03/20 Javascript
uniapp微信小程序实现一个页面多个倒计时
2020/11/01 Javascript
[01:09:24]Ti4开幕式
2014/07/19 DOTA
python去掉字符串中重复字符的方法
2014/02/27 Python
python3安装pip3(install pip3 for python 3.x)
2018/04/03 Python
python selenium自动上传有赞单号的操作方法
2018/07/05 Python
Python 进程之间共享数据(全局变量)的方法
2019/07/16 Python
Python 读取xml数据,cv2裁剪图片实例
2020/03/10 Python
英国户外玩具儿童游乐设备网站:TP Toys(蹦床、攀爬框架、秋千、滑梯和游戏屋)
2018/04/09 全球购物
幼儿园实习自我鉴定
2013/12/15 职场文书
迟到检讨书500字
2014/02/05 职场文书
房产代理公证处委托书
2014/04/04 职场文书
荷叶母亲教学反思
2014/04/30 职场文书
信息与工商管理职业规划范文:为梦想而搏击
2014/09/11 职场文书
MySql学习笔记之事务隔离级别详解
2021/05/12 MySQL
Go遍历struct,map,slice的实现
2021/06/13 Golang
Python中super().__init__()测试以及理解
2021/12/06 Python
MySQL Server层四个日志的实现
2022/03/31 MySQL
5个实用的JavaScript新特性
2022/06/16 Javascript
webpack介绍使用配置教程详解webpack介绍和使用
2022/06/25 Javascript