gpt4 book ai didi

python - 如何使用python脚本同步两个文件夹

转载 作者:行者123 更新时间:2023-12-03 16:03:21 27 4
gpt4 key购买 nike

当前,我正在一个项目中,该项目正在同步两个文件夹。在以下示例中,我的文件夹将ad Folder_1命名为源,将 Folder_2命名为目标,我想做以下事情。

  • 如果Folder_1中没有文件,而Folder_2中没有文件,
    将文件从folder_1复制到Folder_2和,反之亦然
  • 如果我重命名两个文件夹中的任何文件,它将在另一个文件夹中更新,而不是复制具有更新名称的新文件。
  • 如果我从任何文件夹中删除任何文件,它也应该从其他文件夹中删除。

  • 我已经完成了第一点的一半工作,可以将文件从Folder_1复制到Folder_2。仍然可以发送我可以将文件从Folder_2复制到Folder_1的部分。

    以下是我的代码
    import os, shutil
    path = 'C:/Users/saqibshakeel035/Desktop/Folder_1/'
    copyto = 'C:/Users/saqibshakeel035/Desktop/Folder_2/'

    files =os.listdir(path)
    files.sort()
    for f in files:
    src = path+f
    dst = copyto+f
    try:
    if os.stat(src).st_mtime < os.stat(dst).st_mtime:
    continue
    except OSError:
    pass
    shutil.copy(src,dst)#this is the case when our file in destination doesn't exist
    =
    print('Files copied from'+ path +'to' + copyto+ '!')

    我可以修改或执行哪些操作,以使两个文件夹完全同步?
    提前致谢 :)

    最佳答案

    (与您的方法不同,但是可以按照查询的预期完成工作)

    使用dirsync的简单代码:

    from dirsync import sync
    source_path = '/Give/Source/Folder/Here'
    target_path = '/Give/Target/Folder/Here'

    sync(source_path, target_path, 'sync') #for syncing one way
    sync(target_path, source_path, 'sync') #for syncing the opposite way

    有关更多选项,请参见此处的文档: dirsync - PyPI

    当然,您可以根据需要手动添加异常处理。

    关于python - 如何使用python脚本同步两个文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54688687/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com