Вы не можете "перезаписать файл на лету". У вас есть два варианта:
, если файлы достаточно малы (меньше, чем объем доступной оперативной памяти на
удобное поле), просто зациклите их (os.listdir
делает этот цикл
легко, или os.walk
, если вы хотите поймать все дерево подкаталогов,
не только один каталог), и для каждого, сначала прочитайте его в памяти, затем
перезаписать копию на диске.
в противном случае зациклите их и пишите каждый раз в новый файл (например,
добавив .new
к имени), затем переместите новый файл поверх старого. это
безопаснее (нет риска нехватки памяти, нет риска повреждения файла, если
компьютер вылетает) но сложнее.
Итак, является вашей ситуацией: достаточно маленьких файлов (и резервных копий для защиты от сбоев компьютера и диска), в этом случае я могу, если хотите, показать простой код; или огромные файлы размером в несколько ГБ - в каком случае это будет сложный код? Дайте нам знать!