gpt4 book ai didi

linux - 如何检查和删除python中两个不同目录中不相同的文件?

转载 作者:太空宇宙 更新时间:2023-11-04 10:06:39 25 4
gpt4 key购买 nike

我有两个文件夹,我想在两个文件夹中保留相同的文件。所以现在如果要删除两个文件夹中都不存在的文件,使用文件名“相同”

我正在尝试这个,但似乎没有效果。

dir1 = os.listdir('/home/Desktop/computed_1d/')
dir2 = os.listdir('/home/Desktop/computed_2d_blaze/')

for filename in dir1:
try:
for filen in dir2:
if filename != filen:
os.remove(filename)
except:
pass

谁能告诉我哪里出错了?

最佳答案

您可以使用 set 来有效地检查重复项。

dir1 = os.listdir(path1)
dir2 = os.listdir(path2)

duplicates = set(dir1) & set(dir2)

# delete from dir1
for file in dir1:
if file not in duplicates:
os.remove(os.path.join(path1,file))

# delete from dir2
for file in dir2:
if file not in duplicates:
os.remove(os.path.join(path2,file))

关于linux - 如何检查和删除python中两个不同目录中不相同的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52115225/

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