手机

密码

安全问题

注册 忘记密码?

详情请戳:https://www.udongman.cn/index.php?m=product&c=csp ​

有效期:2022/03/03 - 2022/08/30
迭代备份工具
来源: | 作者:wUw | 发布时间: 1304天前 | 800 次浏览 | 分享到:

一、简介:

1.实现本地定时备份,备份文件夹产生按照时间排序的迭代文件夹;

2.第一次备份将源文件夹内所有文件备份至备份文件夹,后面只备份发生内容变更的文件;

3.不具备子文件夹备份功能,只备份文件;

4.word的临时文件可以备份,但不保证所有程序都给予临时文件的读权力,因此做了无法读取跳过的设计,所以未保存及关闭的文件可能无法备份;

5.进程内存的实时显示;

6.使用了多线程(伪);

7.因无全面的测试,建议只备份文档、图片等不复杂的文件;

8.有一实时删除备份文件夹内空文件夹的线程,但做了保守设置,结束时可能会对最后1-2个空文件夹进行留存;

9.有文件夹复制时进度条;

10.有倒计时进度条;

11.保守设计,定时全部为0也有1s延时;

12.半透明界面。

界面:

log:

二、部分源码:

1.轮子……:

import os,signal,psutil#读取文件夹等 杀死进程 内存占用
import shutil#复制文件
import datetime
import time
import hashlib#哈希验证
from tkinter import *#UI需要
import threading#多线程
from tkinter import filedialog#选择路径需要
import tkinter.font as tkFont#字体设置
import tkinter.ttk#进度条需要

2.多线程、死循环跳出及杀进程退出:

#多线程
t1 = threading.Thread(target=lambda:[first()],daemon=True)#守护线程daemon=True 线程1
t2 = threading.Thread(target=lambda:[stop()],daemon=True) #守护线程daemon=True 线程2
t3 = threading.Thread(target=lambda:[clear()],daemon=True)#守护线程daemon=True 线程3
def t1st():
   t1.start()
def t3st():
   t3.start()
def t2st():
   t2.start()
def stop():
   varF_0.set('9')#设置变量为9
   time.sleep(1)#等待1s
   os.kill(os.getpid(), signal.SIGINT)#杀死进程
   
.............................
    while 1 == 1:
       if varF_0.get()== '1':
           progressbarthree['maximum'] = time1-1  # 进度值最大值
           progressbarthree['value'] = time1-1  # 进度值初始值
           for p in range(int(time1)):
               time.sleep(1)
               progressbarthree['value'] -= 1  # 进度条-1
               window.update()
           second(dictA, dst_dir, src_dir, dirs_1)
       else:
           time.sleep(1)
           break

三、程序包:

链接:https://pan.baidu.com/s/1onC4N98_UcY1bPMRKtP7Qw?pwd=07ln 

提取码:07ln 



  • 标题
  • 内容
  • 验证码
提交
标题内容提交时间
没有记录!