Похоже, это связано с тем, как вы перебираете свой список sizes
.
Для каждого найденного file
вы перебираете весь список и добавляете размер несколько раз.
for i in sizes:
заставит вас выполнить итерацию даже после того, как файл будет найден и удален, если он встретится с размером до конца списка.
Вы можете изменить это, просто проверив, найден ли size
in
sizes
.
sizes = []
for filename in os.listdir(r"c:\users\admin\storage\\"):
file = r"c:\users\admin\storage\\" + filename
size = os.path.getsize(file)
if size in sizes:
print('same size', filename)
else:
sizes.append(size)
При первом запуске этого файла в моей собственной папке он возвращает ;
same size static
same size storage
sizes
#[0, 4096, 135168, 554, 102]
Это соответствует правильно, поскольку static
и storage
равны 0 байтов. При повторном запуске без изменения результата в sizes
каждый файл соответствует.
same size .ebextensions
same size customer
same size db.sqlite3
same size manage.py
same size requirements.txt
same size static
same size storage