作用:

  • 检查发放任务的文件夹的文件是否有变动
  • 有变动的话发邮件通知

脚本调用

file_listen(path) ,传入想要检查是否变动的路径:

import os
import smtplib
from email.mime.text import MIMEText
from email.header import Header
files = []
value = {"title": "有新任务啦","body": "text","sender": "xxxxx@xxx.com","password": "******","receiver": "xxxxxx@xxxx.com","smtpserver": "smtp.163.com","is_send_email": True}
def file_listen(path):path = path + "/"first_dir_list = os.listdir(path)print("the path( "+ path,"):",first_dir_list)print("exist file:", files)new_file = [str(path + file) for file in first_dir_list if os.path.isfile(path + file)]print("new file:",new_file)files.extend(new_file)dirs = [str(path + file) for file in first_dir_list if os.path.isdir(path + file)]print("new dirs:",dirs)if dirs:for dir in dirs:file_listen(dir)def send_email(title, body, sender, password, receiver,smtpserver = 'smtp.163.com',**kwargs):''':param title: 邮件标题:param body: 邮件正文:param sender: 发送的邮箱:param password: 发送的邮箱的密码:param receiver: 接收的邮箱:param smtpserver: 使用的服务类型:param is_send_email: 是否调用该方法:return:'''if kwargs['is_send_email']:subject = Header(title, 'utf-8').encode()# 构造邮件对象MIMEMultipart对象# 下面的主题,发件人,收件人,日期是显示在邮件页面上的。msg = MIMEText(body, 'plain', 'utf-8')msg['Subject'] = subjectmsg['From'] = senderprint(msg['From'])msg['To'] = receiverprint( msg['To'])# 发送邮件smtp = smtplib.SMTP()smtp.connect(smtpserver)# 我们用set_debuglevel(1)就可以打印出和SMTP服务器交互的所有信息。# smtp.set_debuglevel(1)result = smtp.login(sender, password)print("result:",result)smtp.sendmail(sender, receiver, msg.as_string())smtp.quit()file_listen("\\\\Server\\自由区\\WSY\\需要做模的文件")
print(files)
text = ""
if os.path.exists("temp.txt"):with open("temp.txt", "r", encoding="utf8") as f:text = f.read()print("Is no changed?:",text == str(files))if text == str(files):print("Is no changed")
else:with open("temp.txt", "w", encoding="utf8") as f:f.write(str(files))send_email(**value)

发送邮件

参考我的关于发送邮件的博客,修改 value 中的 sender,password,receiver

  • sender:发送的邮箱
  • password:发送的邮箱的密码
  • receiver:接收的邮箱

定时运行

参考我的关于Win10定时任务的博客。

参考:

  • https://www.cnblogs.com/yanglang/p/7610838.html

Python检查文件内容是否有变动相关推荐

  1. python 法律检索_Python基于正则表达式实现检查文件内容的方法【文件检索】

    本文实例讲述了Python基于正则表达式实现检查文件内容的方法分享给大家供大家参考,具体如下: 这个是之前就在学python,欣赏python的小巧但是功能强大,是连电池都自带的语言.平时工作中用Ja ...

  2. python中读取文件内容-Python读取文件内容的三种常用方式及效率比较

    本文实例讲述了Python读取文件内容的三种常用方式.分享给大家供大家参考,具体如下: 本次实验的文件是一个60M的文件,共计392660行内容. 程序一: def one(): start = ti ...

  3. python怎么读文件内容-Python读取文件内容为字符串的方法(多种方法详解)

    以下笔记是我在 xue.cn 学习群之数据分析小组所整理分享的心得.相关背景是:我选择中文词频统计案例作为考察大家python基础功掌握程度. 以小见大,下面是2个小技能的具体实战: 如何灵活地处理文 ...

  4. 用python修改文件内容修改txt内容的3种方法

    用python修改文件内容修改txt内容的3种方法 方法一.修改原文件方式 def updateFile(file,old_str,new_str):"""替换文件中的字 ...

  5. 微信公众号网页授权域名时报内容与下载文件不符,请检查文件内容或重新上传原始文件的错误解决方法

    项目场景: 最近做的项目需要使用到微信支付的jsapi类型,其实如果是做native支付的话还是很容易搞的,但是使用jsapi支付的话需要一个特殊的参数,这个参数就是openid,官网上有获取open ...

  6. [问题已处理]微信公众号授权 提示内容与下载文件不符,请检查文件内容或重新上传

    微信公众号授权 提示内容与下载文件不符,请检查文件内容或重新上传 今天申请微信公众号平台的时候 微信公众号授权 提示内容与下载文件不符,请检查文件内容或重新上传 但是直接访问文件是可以获取到文件内容的 ...

  7. python修改文件内容_Python批量修改文本文件内容的方法详解

    这篇文章主要介绍了Python批量修改文本文件内容的方法的相关资料,需要的朋友可以参考下 Python批量替换文件内容,支持嵌套文件夹 import os path="./" fo ...

  8. python修改文件内容最后一行_关于python:如何修改文件的最后一行?

    我文件的最后一行是: 29-dez,40, 号 如何修改该行,使其显示: 29-Dez,40,90,100,50 号 注意:我不想写新行.我想在29-Dez,40,后面加一行新值. 我是Python的 ...

  9. Python读取文件内容为字符串的方法(多种方法详解)

    方法1: 拷贝文章时,直接把内容赋值给一个变量,保存到一个 .py 文件中.然后在脚本中,导入它. 存储文章的文件article.py content = """ 复制的 ...

最新文章

  1. 诺奖10年,干细胞领域再突破!华大单细胞技术助力获得人类体外诱导全能干细胞...
  2. 中文语音识别pytorch
  3. 实录分享 | 计算未来轻沙龙:大规模数据存储与挖掘(PPT下载)
  4. 虚拟机中的Linux安装VMware Tools的方法
  5. LeetCode 1427. 字符串的左右移
  6. python实现knn分类_knn分类算法底层实现(python)
  7. HttpServletRequest对象
  8. java中notify是什么意思_java中wait,notify,notifyAll是什么?
  9. 树莓派智能小车c语言代码,树莓派智能小车开发详解
  10. element表格表头显示斜杠
  11. 云计算激荡十五年:亚马逊云科技的探路者精神
  12. lg android tv遥控器,LG TV Remote遥控器
  13. 论文解读:《功能基因组学transformer模型的可解释性》
  14. th:if th:else
  15. NLP学习笔记——情感分析一 (简介)
  16. 2022年蓝桥杯C++B组题解 - 很详细
  17. 初学VUE 走马灯效果
  18. 纪中暑假培训: Date 3:电视游戏问题
  19. 中国医科大学《护理研究(本科)》在线作业
  20. 计算机保护系统软件,雨过天晴电脑保护系统专业版

热门文章

  1. 实验室服务器多人共用账号,搭建多人共用的GPU服务器
  2. 数据库编程基本练习题
  3. Nest.js模块机制的概念和实现原理
  4. 【论文阅读】【综述】从Optical Flow到Scene Flow
  5. 2014年中南大学复试-安全路径
  6. Linux gsoap生成onvif框架(C语言客户端代码)一
  7. antd Table 列hover高亮
  8. QTableView点击表格内空白行的信号
  9. 万字长文测评:3款口碑炸裂的BI数据分析工具,最好用的其实是……
  10. 国密gmssl命令行生成SM2证书