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多线程编程(二):启动线程的两种方法
Apr 05 Python
Python的SQLAlchemy框架使用入门
Apr 29 Python
python实现复制整个目录的方法
May 12 Python
python selenium UI自动化解决验证码的4种方法
Jan 05 Python
解决Python2.7读写文件中的中文乱码问题
Apr 12 Python
dataframe 按条件替换某一列中的值方法
Jan 29 Python
Python button选取本地图片并显示的实例
Jun 13 Python
python3的UnicodeDecodeError解决方法
Dec 20 Python
基于Pycharm加载多个项目过程图解
Jan 19 Python
tensorflow模型继续训练 fineturn实例
Jan 21 Python
python3 使用openpyxl将mysql数据写入xlsx的操作
May 15 Python
Django自带用户认证系统使用方法解析
Nov 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 模拟GMAIL,HOTMAIL(MSN),YAHOO,163,126邮箱登录的详细介绍
2013/06/18 PHP
php实现两表合并成新表并且有序排列的方法
2014/12/05 PHP
解决ThinkPHP关闭调试模式时报错的问题汇总
2015/04/22 PHP
PHP实现批量重命名某个文件夹下所有文件的方法
2017/09/04 PHP
thinkPHP3.2.3结合Laypage实现的分页功能示例
2018/05/28 PHP
laravel 数据验证规则详解
2019/10/23 PHP
Jquery在IE7下无法使用 $.ajax解决方法
2009/11/11 Javascript
JavaScript 学习笔记(六)
2009/12/31 Javascript
JavaScript 内置对象属性及方法集合
2010/07/04 Javascript
div层的移动及性能优化
2010/11/16 Javascript
用Jquery重写windows.alert方法实现思路
2013/04/03 Javascript
Node.js(安装,启动,测试)
2014/06/09 Javascript
仿JQuery输写高效JSLite代码的一些技巧
2015/01/13 Javascript
深入探寻seajs的模块化与加载方式
2015/04/14 Javascript
浅谈jQuery中setInterval()方法
2015/07/07 Javascript
BootStrap表单控件之复选框checkbox和单选择按钮radio
2017/05/23 Javascript
详解vue项目构建与实战
2017/06/27 Javascript
electron demo项目npm install安装失败的解决方法
2018/02/06 Javascript
vuex 的简单使用
2018/03/22 Javascript
8个有意思的JavaScript面试题
2019/07/30 Javascript
element中的$confirm的使用
2020/04/26 Javascript
Node.js API详解之 net模块实例分析
2020/05/18 Javascript
vue如何在用户要关闭当前网页时弹出提示的实现
2020/05/31 Javascript
Python函数中定义参数的四种方式
2014/11/30 Python
Python制作CSDN免积分下载器
2015/03/10 Python
Python实现批量将word转html并将html内容发布至网站的方法
2015/07/14 Python
python selenium执行所有测试用例并生成报告的方法
2019/02/13 Python
使用python判断jpeg图片的完整性实例
2019/06/10 Python
python GUI库图形界面开发之PyQt5表格控件QTableView详细使用方法与实例
2020/03/01 Python
ShellScript面试题一则-ShellScript编程
2014/06/24 面试题
旅游管理专业学生求职信
2013/09/28 职场文书
信息专业毕业生五年职业规划参考
2014/02/06 职场文书
《三亚落日》教学反思
2014/04/26 职场文书
医院护士见习期自我鉴定
2014/09/15 职场文书
志愿者个人总结
2015/03/03 职场文书
春季运动会加油词
2015/07/18 职场文书