QQ登录

只需要一步,快速开始

APP扫码登录

只需要一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

查看: 2057|回复: 0

[Python] 监控新增文件及文件夹

[复制链接]

等级头衔

积分成就    金币 : 2841
   泡泡 : 1516
   精华 : 6
   在线时间 : 1294 小时
   最后登录 : 2024-11-21

丰功伟绩

优秀达人突出贡献荣誉管理论坛元老

联系方式
发表于 2020-6-8 14:18:33 | 显示全部楼层 |阅读模式
       可以监控文件夹文件的变化,配置文件中设置发件邮箱及要监控的文件夹路径,存放日志的路径,接收通知的邮箱(最后一行开始往下放,一行一个邮箱,理论无限个,测试二十多个邮箱正常发送)。
  l( r% f1 V8 P. G3 T  r# L* R7 ` 1.jpg ! z+ w( k) X6 f) p8 A6 `% F  Y
       运行软件后同目录下会多出一个傻瓜监测日志.log用以存放控制台输出的显示,傻瓜检测报错.log用以存放控制台输出的报错(报错日志是追加,显示日志是覆盖)在日志存放路径会生成当前年份的文件夹,第二次运行的话会把上一次的给打包成压缩包。减少空间占用。1 H5 G& w, c9 I' t2 N
  1.     if os.path.getsize(lujing + '\\wjjcha.txt') or os.path.getsize(lujing + '\\wjcha.txt'):
  2.         print('指定的文件不为空')
  3.         wjjzhengwen = ''
  4.         wjzhengwen = ''
  5.         if os.path.getsize(lujing + '\\wjjcha.txt'):
  6.             with open(lujing + '\\wjjcha.txt', "r") as f:  # 打开文件
  7.                 wjjneirong = f.read()  # 读取文件
  8.             wjjzhengwen = '新增的文件夹为:\n' + wjjneirong
  9.         if os.path.getsize(lujing + '\\wjcha.txt'):
  10.             with open(lujing + '\\wjcha.txt', "r") as f:  # 打开文件
  11.                 wjneirong = f.read()  # 读取文件
  12.             wjzhengwen = '新增的文件为:\n' + wjneirong
  13.         youjianzhengwen = wjjzhengwen + wjzhengwen
  14.         try:
  15.             message = MIMEText(youjianzhengwen, 'plain',
  16.                                'utf-8')
  17.             message['From'] = Header("文件管理员", 'utf-8')
  18.             message['To'] = Header("你", 'utf-8')
  19.             subject = '共享文件夹发生了变化'
  20.             message['Subject'] = Header(subject, 'utf-8')
  21.             smtpObj = smtplib.SMTP()
  22.             smtpObj.connect(peizhilist[1], 25)  # 25 为 SMTP 端口号
  23.             smtpObj.login(peizhilist[3], peizhilist[5])
  24.             smtpObj.sendmail(peizhilist[7], shoulist, message.as_string())
  25.             print("邮件发送成功")
  26.         except smtplib.SMTPException:
  27.             print("Error: 无法发送邮件")
      如果上一分钟检测到文件变化发了邮件,这次就会退出不检测。(因为发的太快邮件会出错发不出去或者卡住),切记别把最后一次运行的文件夹给删掉,检测到日志目录存在但是找不到对比的日志存在会报错的(可以把以前的文件夹解压出来解决,只要能有一个对比的日志就不会报错)。6 ?# E8 B. d$ c; [4 P
5 K* f5 g: I/ _- c: U# V$ H

% a% V) t8 l7 `1 C, |. T5 @
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|paopaomj.COM ( 渝ICP备18007172号|渝公网安备50010502503914号 )

GMT+8, 2024-11-21 21:49

Powered by paopaomj X3.5 © 2016-2025 sitemap

快速回复 返回顶部 返回列表