Python写一个每20分钟对一个路径文件夹中当月建立的txt文件复制到另一个路径中,并且这段程序每天的24点停止运行,20秒后继续运行
时间: 2024-05-03 21:21:41 浏览: 12
这里是一个Python程序,实现了每20分钟复制当月建立的txt文件到另一个路径,并且每天的24点停止运行,20秒后继续运行。具体实现过程如下:
```
import os
import shutil
from datetime import datetime, timedelta
import time
# 设置源文件夹和目标文件夹
src_folder = r'C:\path\to\source\folder'
dst_folder = r'C:\path\to\destination\folder'
# 获取当前时间
now = datetime.now()
# 设置每天停止运行的时间为24:00:00
stop_time = now.replace(hour=24, minute=0, second=0, microsecond=0)
# 循环运行程序
while True:
# 获取当前时间
now = datetime.now()
# 判断当前时间是否超过停止时间,如果是,则程序停止运行
if now >= stop_time:
break
# 获取当月的文件列表
file_list = [f for f in os.listdir(src_folder) if f.endswith('.txt') and datetime.fromtimestamp(os.path.getctime(os.path.join(src_folder, f))) >= now.replace(day=1)]
# 复制文件到目标文件夹
for file in file_list:
src_file = os.path.join(src_folder, file)
dst_file = os.path.join(dst_folder, file)
shutil.copy(src_file, dst_file)
# 等待20分钟
time.sleep(20 * 60)
# 等待20秒后再次运行程序
time.sleep(20)
```
注意事项:
1. 代码中的路径需要根据实际情况修改;
2. 程序在运行时会不断复制文件,确保目标文件夹中的文件不会被重复复制;
3. 程序在24点时停止运行,但并没有退出程序,需要手动停止。如果需要自动退出程序,可以在程序停止运行的位置添加 `sys.exit()` 语句;
4. 程序在复制文件时没有对文件进行过滤,如果源文件夹中有非txt文件,程序可能会出错。可以在 `file_list` 的生成过程中添加额外的过滤条件。