Удаление всех файлов в папке в Python

Я пытаюсь создать программу на Python, которая удалит все файлы по пути %temp%, также известному как C:\Users\User\AppData\Local\Temp.

Как я могу это сделать? Я использую Python 3.4.


person kyoh    schedule 02.07.2015    source источник
comment
примечание: в POSIX для временного каталога может быть установлен бит закрепления: Когда бит закрепления каталога установлен установлено, файловая система обрабатывает файлы в таких каталогах особым образом, поэтому только владелец файла, владелец каталога или пользователь root могут переименовать или удалить файл. т. е. у вас может не быть разрешения на удалить все файлы во временном каталоге.   -  person jfs    schedule 02.07.2015
comment
Я не верю, что этот конкретный вопрос является дубликатом, поскольку OP спрашивает об удалении временной папки. Связанный ответ не ссылается на временную папку. Для временных файлов вы можете использовать модуль tempfile.   -  person drohm    schedule 02.07.2015
comment
возможный дубликат Как удалить временный файл в Python   -  person jezrael    schedule 03.07.2015


Ответы (1)


Как правило, вы можете использовать shutil.rmtree() для удаления всех файлов / каталогов. в папке:

#!/usr/bin/env python
import shutil
import tempfile

dirpath = tempfile.mkdtemp()
try:
    # use the temporary directory here
    ...
finally:
    shutil.rmtree(dirpath) # clean up

Приведенное выше можно написать проще, если это все, что вам нужно (создать временный каталог с нуля):

#!/usr/bin/env python3
import tempfile

with tempfile.TemporaryDirectory() as dir:
    print(dir.name) # use the temporary directory here
person jfs    schedule 03.07.2015