gpt4 book ai didi

python - 如何比较目录以确定哪些文件已更改?

转载 作者:行者123 更新时间:2023-11-28 22:05:35 25 4
gpt4 key购买 nike

我们需要一个脚本来比较两个文件目录,并且对于目录 1 和目录 2 之间已更改(添加、删除、修改)的每个文件,需要仅创建那些已修改文件的子集。

我的第一印象是创建一个 python 脚本来遍历每个目录,计算每个文件的哈希值,如果哈希值发生变化,则将文件复制到新的文件子集。这是正确的方法吗?我是否忽略了可能已经做到这一点的任何工具?我从来没有用过它,但也许可以使用类似 rsync 的东西可以用吗?

谢谢

编辑:

重要的部分是我能够编译只有那些文件被更改的子集——所以如果版本之间只有 3 个文件发生了更改,我只需要将这三个文件复制到一个新目录...

最佳答案

在我看来,您需要的是这么简单的东西:

from os.path import getmtime
from os import sep,listdir

rep1 = 'I:\\dada'
rep2 = 'I:\\didi'

R1 = listdir(rep1)
R2 = listdir(rep2)


vanished = [ filename for filename in R1 if filename not in R2]
appeared = [ filename for filename in R2 if filename not in R1]
modified = [ filename for filename in ( f for f in R2 if f in R1)
if getmtime(rep1+sep+filename)!=getmtime(rep2+sep+filename)]


print 'vanished==',vanished
print 'appeared==',appeared
print 'modified==',modified

关于python - 如何比较目录以确定哪些文件已更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5021838/

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