"перезаписывать" не совсем понятна
У меня есть папка с файлами, мне эти файлы надо скопировать в другую, но чтоб они скопировались уже без дублей
import hashlib from shutil import copy import os uniq_hash = set() names = '' src = "/home/yuliia/pythonProject11/11/" dst = "/home/yuliia/pythonProject11/uniq/" files = os.listdir(src) for fname in files: with open(fname, "rb") as f: sig = hashlib.sha256(f.read()).digest() if sig not in uniq_hash: copy(os.path.join(src, fname),os.path.join(dst, fname)) uniq_hash.add(sig) сразу говорю, не отлаживал
files = os.listdir(src) здесь ошибка, что не видит первый файл, Я попробую так: for item in os.listdir(src): s = os.path.join(src, item) d = os.path.join(dst, item)
Да, забыл прицепить путь к файлу перед отекрытием... import hashlib from shutil import copy import os uniq_hash = set() names = '' src = "/home/yuliia/pythonProject11/11/" dst = "/home/yuliia/pythonProject11/uniq/" files = os.listdir(src) for fname in files: with open(os.path.join(src, fname), "rb") as f: sig = hashlib.sha256(f.read()).digest() if sig not in uniq_hash: copy(os.path.join(src, fname),os.path.join(dst, fname)) uniq_hash.add(sig)
Пожалуйста
Все равно ошибка
Надо создать директорию uniq. Я не писал в коде её создание, хоть можно и питоном
Обсуждают сегодня