白日梦也迷茫 2021-10-27 07:33 采纳率: 90.5%
浏览 87
已结题

python利用os模块进行增量备份

程序要求:
(1) 原工作目录为d:\working directory,此文件是磁盘已有的,请先行建立该文件夹以及内部的目录结构(d:\working directory\test(目录), d:\working directory\text.txt(文件)、d:\working directory\temp.txt(文件)
(2) 利用os的相关方法新建备份目录d:\backup
(3) 将d:\working directory中所有内容拷贝到d:\backup进行备份
(4) 当在d:\working directory中进行下面改变时:(a)新建d:\working directory\test\textbackup.txt (2)修改text.txt内容,将其内容变为"ok"。
(5) 要求本程序能自动对比工作目录和备份目录,仅更新所有改变的内容。

  • 写回答

2条回答 默认 最新

  • chuifengde 2021-10-27 09:12
    关注
    import os
    import shutil
    import schedule
    
    workDir = r'D:\working directory'
    backDir = r'D:\backup'
    file = r'd:\working directory\test\textbackup.txt'
    
    def work(): 
        if not os.path.isdir(backDir):
            os.mkdir(backDir)
            
        for c,d,f in os.walk(workDir):
            if f :
                for i in f:
                    sourceFile = os.path.join(c + '\\' + i)
                    aimDir = os.path.join(c.replace(workDir, backDir) +'\\' + i)
    
                    if not os.path.isdir(c.replace(workDir, backDir) ):
                        os.mkdir(c.replace(workDir, backDir))                
                    if not os.path.exists(aimDir):
                        shutil.copyfile(sourceFile, aimDir)
                        
        if os.path.exists(file):
            with open(workDir + "\\text.txt",'w' ) as f:
                f.write('ok')
                
    schedule.every(1).second.do(work)
    while True:
        schedule.run_pending()
    #1秒钟备份一次
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 10月31日
  • 已采纳回答 10月28日
  • 创建了问题 10月27日

悬赏问题

  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探