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的web框架编写前端模版的教程
Apr 30 Python
Python文件操作之合并文本文件内容示例代码
Sep 19 Python
Python线性方程组求解运算示例
Jan 17 Python
wxPython实现窗口用图片做背景
Apr 25 Python
python3中的md5加密实例
May 29 Python
在python中logger setlevel没有生效的解决
Feb 21 Python
Python+redis通过限流保护高并发系统
Apr 15 Python
基于Python的Jenkins的二次开发操作
May 12 Python
Python读取xlsx数据生成图标代码实例
Aug 12 Python
Selenium 配置启动项参数的方法
Dec 04 Python
python里glob模块知识点总结
Jan 05 Python
如何通过一篇文章了解Python中的生成器
Apr 02 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字符串截取问题
2006/11/28 PHP
使用php判断网页是否gzip压缩
2013/06/25 PHP
Opcache导致php-fpm崩溃nginx返回502
2015/03/02 PHP
PHP数组函数知识汇总
2016/05/12 PHP
将HTML自动转为JS代码
2006/06/26 Javascript
img的onload的另类用法
2008/01/10 Javascript
return false;和e.preventDefault();的区别
2010/07/11 Javascript
js创建数据共享接口——简化框架之间相互传值
2011/10/23 Javascript
浏览器窗口大小变化时使用resize事件对框架不起作用的解决方法
2014/05/11 Javascript
基于Bootstrap使用jQuery实现输入框组input-group的添加与删除
2016/05/03 Javascript
Web Uploader文件上传插件使用详解
2016/05/10 Javascript
AngularJS表单提交实例详解
2017/02/18 Javascript
Vue-cli创建项目从单页面到多页面的方法
2017/09/20 Javascript
基于Vue中点击组件外关闭组件的实现方法
2018/03/06 Javascript
详解如何在webpack中做预渲染降低首屏空白时间
2018/08/22 Javascript
解决echarts的多个折现数据出现坐标和值对不上的问题
2018/12/28 Javascript
JavaScript实现多张图片放大镜效果示例【不限定图片尺寸,rem单位】
2019/05/14 Javascript
微信小程序实现录音功能
2019/11/22 Javascript
Python中字典创建、遍历、添加等实用操作技巧合集
2015/06/02 Python
教你使用python实现微信每天给女朋友说晚安
2018/03/23 Python
python中random.randint和random.randrange的区别详解
2020/09/20 Python
PyChon中关于Jekins的详细安装(推荐)
2020/12/28 Python
HTML5离线缓存Manifest是什么
2016/03/09 HTML / CSS
JavaScript实现前端网页版倒计时
2021/03/24 Javascript
护理专科毕业生自荐书范文
2014/02/19 职场文书
安全生产中长期规划实施方案
2014/02/21 职场文书
天猫某品牌专卖店运营计划书
2014/03/21 职场文书
数学教研活动总结
2014/07/02 职场文书
政工例会汇报材料
2014/08/26 职场文书
卫生厅领导班子党的群众路线教育实践活动整改措施
2014/09/20 职场文书
五好家庭申报材料
2014/12/20 职场文书
冰峪沟导游词
2015/02/09 职场文书
2015年预防青少年违法犯罪工作总结
2015/05/22 职场文书
保护动物的宣传语
2015/07/13 职场文书
Django程序的优化技巧
2021/04/29 Python
能让Python提速超40倍的神器Cython详解
2021/06/24 Python