Я думаю, вы неправильно поняли, что может делать Шутил.
Если местом назначения является каталог, тогда он переместит исходный файл в
этого каталога.
Однако, если место назначения не существует, он будет переименовывать sr c как
место назначения.
Если место назначения существует и это файл, он будет перезаписывать этот файл dest с исходным файлом.
Итак, в вашем случае, скажем, у вас было 5 файлов. «E / Новая папка» не существует. Таким образом, для файла l oop
file1 переименовывается в E / New Folder (на данный момент file1 не существует, а его содержимое находится в E / New Folder)
file2 перезаписывает E / New Папка (файл2 удален, а в E / New Folder теперь содержится содержимое файла file2, а файл file1 полностью потерян)
file3 перезаписывает E / New Folder (файл3 удаляется, а в E / New Folder теперь содержится содержимое Содержимое file3 и file2 теперь полностью теряется)
file4 перезаписывает E / New Folder (file4 удаляется, и E / New Folder теперь содержит содержимое file4, а содержимое file3 теперь полностью теряется) *
file5 перезаписывает E / New Folder (file5 удаляется, и E / New Folder теперь содержит содержимое file5, а содержимое file4 теперь полностью теряется)
Таким образом, E / New Folder действительно является файлом и будет содержать содержимое файла списка, который прошел через shutil.move к этому месту назначения, а все остальные файлы и содержимое будут потеряны.