Python3.4实现远程控制电脑开关机

认真发呆
认真发呆
发布时间:2026-10-13 | 2人浏览过
原创

本文介绍基于Python3.4的远程电脑控制方案,通过POP3协议监控指定邮箱,解析邮件主题中的“关机”或“重启”指令,并调用系统命令执行对应操作。代码包含邮件登录、解码及os.system调用,适用于简单的远程管理场景。

本文分享了一个使用Python实现远程操控电脑的具体代码示例,供读者参考学习。

import poplib 
import sys 
import smtplib 
from email.mime.text import MIMEText 
import os 
from email.header import decode_header 
import email 
import time 
def check_email(): 
 try: 
  p = poplib.POP3('pop.163.com') 
  p.user('*****@163.com') 
  p.pass_('*******') 
  ret = p.stat() 
 except: 
  print('Login failed!') 
  sys.exit(1) 
 str = p.top(ret[0], 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() == '关机': 
  return 0 
 elif submsg.strip() == '重启': 
  return 1 
 p.quit() 
def send_email(): 
 user = '*******@qq.com' 
 pwd = '**********' 
 to = ['*****@163.com', '*****@139.com']  #139邮件会有短信提醒,让我知道是否成功 
 msg = MIMEText('') 
 msg['Subject'] = '已收到命令!' 
 msg['From'] = user 
 msg['To'] = ','.join(to) 
 s = smtplib.SMTP('smtp.qq.com') 
 s.login(user, pwd) 
 s.sendmail(user, to, msg.as_string()) 
 s.close() 
 
if __name__ == '__main__': 
 while True: 
  time.sleep(20) 
  if check_email() == 0: 
   send_email() 
   os.system('shutdown -s -t 1') #关机 
   break 
  if check_email() == 1: 
   send_email() 
   os.system('shutdown -r')  #重启 
   break 

经测试,该方案运行正常。

用户可根据实际需求扩展其他命令,此处仅演示关机和重启功能。

希望以上内容能对读者的学习有所帮助,欢迎继续支持本站。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表