Удалить все файлы в каталоге - PullRequest
39 голосов
/ 24 июня 2009

Попытка удалить все файлы в определенном каталоге приводит к следующей ошибке:

OSError: [Errno 2] No such file or directory: '/home/me/test/*'

Код, который я использую:

import os
test = "/home/me/test/*"
os.remove(test)

Ответы [ 12 ]

0 голосов
/ 20 июля 2014

Пожалуйста, смотрите мой ответ здесь:

https://stackoverflow.com/a/24844618/2293304

Это длинное и безобразное, но надежное и эффективное решение.

Это решает несколько проблем, которые не были рассмотрены другими ответчиками:

  • Он правильно обрабатывает символические ссылки, в том числе не вызывает shutil.rmtree() для символической ссылки (которая пройдет тест os.path.isdir(), если он ссылается на каталог).
  • Хорошо обрабатывает файлы только для чтения.
0 голосов
/ 24 июня 2009

os.remove удалит только один файл.

Чтобы удалить с подстановочными знаками, вам нужно написать собственную подпрограмму, которая обрабатывает это.

На этой странице форума перечислены довольно много предложенных подходов .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...