我试图在几个子文件夹中找到任何重复的文件名,并停止脚本并提示用户有关重复的文件名。
使用以下示例文件名:
permissions = (("can_read", "Can read"),)
重复的文件名可以在任何子文件夹中(-副本只是试图模仿文件名,但是代码应该能够基于文件名中的DDMMYYYY知道它是重复的文件。)
我尝试了以下代码:
Money_03012019_2019.csv
Money_04012019_2019.csv
Money_04012019_2019 - Copy.csv
Money_05012019_2019.csv
Money_06012019_2019.csv
但是即使在我玩耍后,它也仍然不起作用。我以为set()和len方法是解决问题的方法(set将通过检查它是否等于flist的长度来避免重复)?
谢谢。
答案 0 :(得分:0)
glob.glob()
返回文件路径的列表,而不是名称,因此列表中的所有内容都是唯一的。
例如:
['./Money.csv', './Money_Folder/Money.csv']
一个简单的解决方案是:
for i in range(len(flist)):
flist[i] = flist[i].split("/")[-1]
这将删除路径的目录部分,仅保留文件名列表,然后可使用len(set(flist)) == len(flist)
检查文件名。