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读取excel表格生成erlang数据
Aug 26 Python
python实现在IDLE中输入多行的方法
Apr 19 Python
Python中循环引用(import)失败的解决方法
Apr 22 Python
TensorFlow 模型载入方法汇总(小结)
Jun 19 Python
Python中一般处理中文的几种方法
Mar 06 Python
python 反编译exe文件为py文件的实例代码
Jun 27 Python
Python实现的远程文件自动打包并下载功能示例
Jul 12 Python
wxPython绘图模块wxPyPlot实现数据可视化
Nov 19 Python
Python函数的默认参数设计示例详解
Dec 01 Python
Python callable内置函数原理解析
Mar 05 Python
Python高并发解决方案实现过程详解
Jul 31 Python
python 如何将office文件转换为PDF
Sep 22 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
星际争霸 Starcraft 秘技补丁
2020/03/14 星际争霸
PHP开发中常用的8个小技巧
2008/08/27 PHP
PHP CURL模拟GET及POST函数代码
2010/04/25 PHP
隐性调用php程序的方法
2015/06/13 PHP
php实现搜索一维数组元素并删除二维数组对应元素的方法
2015/07/06 PHP
Yii2框架实现利用mpdf创建pdf文件功能示例
2019/02/08 PHP
tp5(thinkPHP5框架)时间查询操作实例分析
2019/05/29 PHP
告诉大家什么是JSON
2008/06/10 Javascript
Jquery 学习笔记(一)
2009/10/13 Javascript
漂亮的jquery提示效果(仿腾讯弹出层)
2013/02/05 Javascript
jQuery之按钮组件的深入解析
2013/06/19 Javascript
轻松创建nodejs服务器(1):一个简单nodejs服务器例子
2014/12/18 NodeJs
JavaScript检测弹出窗口是否已经关闭的方法
2015/03/24 Javascript
JavaScript获得表单target属性的方法
2015/04/02 Javascript
简单理解vue中实例属性vm.$els
2016/12/01 Javascript
vue组件表单数据回显验证及提交的实例代码
2018/08/30 Javascript
nodejs 使用 js 模块的方法实例详解
2018/12/04 NodeJs
Node.js net模块功能及事件监听用法分析
2019/01/05 Javascript
JavaScript遍历数组和对象的元素简单操作示例
2019/07/09 Javascript
javascript面向对象创建对象的方式小结
2019/07/29 Javascript
antd 表格列宽自适应方法以及错误处理操作
2020/10/27 Javascript
react使用antd表单赋值,用于修改弹框的操作
2020/10/29 Javascript
微信小程序自定义胶囊样式
2020/12/27 Javascript
[46:55]Ti4 冒泡赛第二轮 LGD vs C9
2014/07/14 DOTA
python使用urllib模块开发的多线程豆瓣小站mp3下载器
2014/01/16 Python
彻底搞懂Python字符编码
2018/01/23 Python
Python爬虫之网页图片抓取的方法
2018/07/16 Python
Python参数传递实现过程及原理详解
2020/05/14 Python
python如何变换环境
2020/07/21 Python
详解Python IO编程
2020/07/24 Python
软件测试常见笔试题
2012/02/04 面试题
应聘自荐信
2013/12/14 职场文书
发展部经理职责规定
2014/02/22 职场文书
服装区域经理岗位职责
2015/04/10 职场文书
车间安全生产管理制度
2015/08/06 职场文书
mysql字符串截取函数小结
2021/04/05 MySQL