#python #shfileoperation
#python #shfileoperation
Вопрос:
В Windows создание файла filename.htm иногда создается имя файла связанной папки.файлы одновременно, если это необходимо. Если мы удалим filename.htm , связанная папка будет удалена в то же время.
В соответствии с этим, это поведение проводника Windows. Это называется «Подключенные файлы». В этом разделе обсуждается SHFileOperation.
Могу ли я имитировать поведение Python? Python os.remove()
или win32api.DeleteFile()
не будет делать то же самое.
Я обеспокоен тем, что жестокое удаление файла и папки приводит к путанице в проводнике Windows. Или оставить что-то дрянное в реестре?
Комментарии:
1. windows не будет создавать вложенные папки при создании файла .htm. это то, что делает ваш БРАУЗЕР, когда вы сохраняете страницу и выбираете «html — complete» (или любой другой эквивалент вашего браузера).
2. Да, я знаю. Итак, я сказал «при необходимости». В любом случае, это не суть вопроса. Я изменил вопрос.
3. и, как вы сказали, это поведение проводника. если вы вызываете вызовы API explorer для удаления файла .htm, он, скорее
_files
всего, также удалит папку, но если вы перейдете на низкий уровень и используете (скажем) обычныйunlink()
для файла html, то папка _files НЕ будет затронута, потому что Explorer вообще не был задействован.4. Безопасно ли переходить на низкий уровень? Microsoft Word однажды сказал мне, что «это имя файла занято, пожалуйста, выберите другое имя». хотя файл удаляется.
5. поиск в Google «SHFileOperation python» указывает, что может существовать модуль pywin32 с win32com.shell. SHFileOperation. Также ActiveState Python имеет то же самое со ссылкой sourceforge на источник.