白日梦也迷茫 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日

悬赏问题

  • ¥100 需要跳转番茄畅听app的adb命令
  • ¥50 寻找一位有逆向游戏盾sdk 应用程序经验的技术
  • ¥15 请问有用MZmine处理 “Waters SYNAPT G2-Si QTOF质谱仪在MSE模式下采集的非靶向数据” 的分析教程吗
  • ¥50 opencv4nodejs 如何安装
  • ¥15 adb push异常 adb: error: 1409-byte write failed: Invalid argument
  • ¥15 nginx反向代理获取ip,java获取真实ip
  • ¥15 eda:门禁系统设计
  • ¥50 如何使用js去调用vscode-js-debugger的方法去调试网页
  • ¥15 376.1电表主站通信协议下发指令全被否认问题
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证