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的Flask框架及Nginx实现静态文件访问限制功能
Jun 27 Python
python异常和文件处理机制详解
Jul 19 Python
python中csv文件的若干读写方法小结
Jul 04 Python
python3使用QQ邮箱发送邮件
May 20 Python
Pandas的read_csv函数参数分析详解
Jul 02 Python
Python 类属性与实例属性,类对象与实例对象用法分析
Sep 20 Python
Django 返回json数据的实现示例
Mar 05 Python
Python使用pdb调试代码的技巧
May 03 Python
如何在sublime编辑器中安装python
May 20 Python
如何在scrapy中集成selenium爬取网页的方法
Nov 18 Python
Python用Jira库来操作Jira
Dec 28 Python
详解Python遍历列表时删除元素的正确做法
Jan 07 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
PHP4与PHP5的时间格式问题
2008/02/17 PHP
PHP日期函数date格式化UNIX时间的方法
2015/03/19 PHP
php与python实现的线程池多线程爬虫功能示例
2016/10/12 PHP
编辑浪子版表单验证类
2007/05/12 Javascript
javascript 函数参数限制说明
2010/11/19 Javascript
映彩衣的js随笔(js图片切换效果)
2011/07/31 Javascript
javascript的内存管理详解
2013/08/07 Javascript
在JavaScript中使用NaN值的方法
2015/06/05 Javascript
jQuery实时显示鼠标指针位置和键盘ASCII码
2016/03/28 Javascript
js+flash实现的5图变换效果广告代码(附演示与demo源码下载)
2016/04/01 Javascript
JS判断输入字符串长度实例代码(汉字算两个字符,字母数字算一个)
2016/08/02 Javascript
View.post() 不靠谱的地方你知道多少
2017/08/29 Javascript
解决JQuery全选/反选第二次失效的问题
2017/10/11 jQuery
基于vue-simplemde实现图片拖拽、粘贴功能
2018/04/12 Javascript
Vue 去除路径中的#号
2018/04/19 Javascript
JS实现的贪吃蛇游戏完整实例
2019/01/18 Javascript
vue实现自定义H5视频播放器的方法步骤
2019/07/01 Javascript
[00:32]2018DOTA2亚洲邀请赛iG出场
2018/04/03 DOTA
python和C语言混合编程实例
2014/06/04 Python
Pandas 按索引合并数据集的方法
2018/11/15 Python
Python编程快速上手——正则表达式查找功能案例分析
2020/02/28 Python
在Matplotlib图中插入LaTex公式实例
2020/04/17 Python
python求numpy中array按列非零元素的平均值案例
2020/06/08 Python
python中rb含义理解
2020/06/18 Python
css3翻牌翻数字的示例代码
2020/02/07 HTML / CSS
我的珠宝盒:Ma boîte à bijoux
2019/08/27 全球购物
学生感冒英文请假条
2014/02/04 职场文书
会计人员岗位职责
2014/03/19 职场文书
分公司经理任命书
2014/06/05 职场文书
解放思想演讲稿
2014/09/11 职场文书
普通员工辞职信范文
2015/05/12 职场文书
处世之道:关于真诚相待的名言推荐
2019/12/02 职场文书
JVM入门之类加载与字节码技术(类加载与类的加载器)
2021/06/15 Java/Android
python实现剪贴板的操作
2021/07/01 Python
Win11安装升级时提示“该电脑必须支持安全启动”
2022/04/19 数码科技
彻底弄懂Python中的回调函数(callback)
2022/06/25 Python