Python удалить файлы по маске

Обновлено: 07.07.2024

Много раз пользователю или программисту python нужно удалить файл. Причина может быть в том, что он/она создал файл по ошибке, или в этом файле больше нет необходимости. Какова бы ни была причина, есть способы Python Delete file без ручного поиска файла и удаления его с помощью пользовательского интерфейса.

Существует несколько способов удаления файла в Python, но лучшие из них следующие:

  • os.remove() удаляет файл.
  • os.unlink() удаляет файл. это Unix-имя метода remove ().
  • shutil.rmtree() удаляет каталог и все его содержимое.

Python Удаляет Файл С Помощью os.remove()

Модуль ОСв Python предоставляет функции для взаимодействия с операционной системой. ОС поставляется под стандартными служебными модулями Python. Этот модуль обеспечивает портативный способ использования функций, зависящих от операционной системы.

метод os.remove() в Python используется для удаления или удаления пути к файлу. Этот метод не может удалить или удалить каталог. Если указанный путь является каталогом, то OSError будет вызван методом.

Примечание: Вы можете использовать os.rmdir() можно использовать для удаления каталога.

Синтаксис:

Ниже приведен синтаксис метода remove() для удаления файла Python −

Параметры

  • путь − Это путь или имя файла, который должен быть удален.

Возвращаемое значение

Метод remove() не возвращает значение.

Давайте рассмотрим некоторые примеры удаления файла Python с помощью функции os.remove.

Пример 1: Базовый пример удаления файла С помощью метода os.remove ().

Примечание: Если нет файла с именем test_file.txt приведенный выше пример выдаст ошибку. Поэтому лучше сначала проверить, доступен ли файл или нет, прежде чем удалять его.

Пример 2: Проверка наличия файла с помощью os.path.isfile и Удаление его С Помощью os.remove

В примере 1 мы только что удалили файл, присутствующий в каталоге. Метод os.remove() будет искать файл для удаления в рабочем каталоге. Поэтому всегда лучше проверить, есть ли файл там или нет.

Давайте узнаем, как проверить, доступен ли файл с таким именем в этом пути или нет. Мы используем os.path.isfile для проверки доступности файла.

В приведенном выше примере мы только что добавили метод os.path.isfile (). Этот метод помогает нам выяснить, существует ли файл в определенном месте или нет.

Пример 3: Программа Python для удаления всех файлов с определенным расширением

С помощью этой программы мы удалим все файлы из папки с расширением .txt .

Пример 4: Программа Python для удаления всех файлов Внутри папки

Чтобы удалить все файлы в определенном каталоге, вам просто нужно использовать символ * в качестве строки шаблона.

В этом примере мы удаляем все файлы внутри папки pythonpool.

Примечание: Если папка будет содержать какую-либо подпапку, то ошибка может быть вызвана тем, что метод glob.glob() извлекает имена всего содержимого папки, будь то файлы или подпапки. Поэтому попробуйте сделать шаблон более конкретным, например *.*, чтобы получить только то содержимое, которое имеет расширение.

Python Удаляет Файл С Помощью os.unlink()

Примечание: Все функциональные возможности и синтаксис одинаковы для os.unlink() и os.remove(). Оба они используются для удаления пути к файлу Python.Оба являются методами в модуле os в стандартных библиотеках Python, который выполняет функцию удаления.

Он имеет два имени, псевдонимы: os.unlink() и os.remove()

Python Удаляет Файл С Помощью shutil.rmtree()

shutil.rmtree(): Удаляет указанный каталог, все подкаталоги и все файлы. Эта функция особенно опасна, потому что она удаляет все без проверки (Python предполагает, что вы знаете, что делаете). В результате вы можете легко потерять данные, используя эту функцию.

Синтаксис:

Параметры:

path: Объект, подобный пути, представляющий путь к файлу. Объект, подобный пути, является либо строковым, либо байтовым объектом, представляющим путь.ignore_errors: Если ignore_errors имеет значение true, ошибки, возникающие в результате неудачного удаления, будут игнорироваться.oneerror: Если ignore_errors имеет значение false или опущено, такие ошибки обрабатываются вызовом обработчика, указанного onerror.

Давайте рассмотрим пример удаления файла с помощью скрипта python.

Пример: Программа Python для удаления файла с помощью shutil.rmtree()

Он удалит весь каталог файлов внутри теста, включая саму папку теста.

Python Удаляет Файл С Помощью pathlib.Path.unlink()

Модуль path lib доступен в Python 3.4 и выше. Если вы хотите использовать этот модуль в Python 2, вы можете установить его с помощью pip. pathlib предоставляет объектно-ориентированный интерфейс для работы с путями файловой системы для различных операционных систем.

Чтобы удалить файл с модулемpathlib, создайте объект Path, указывающий на файл, и вызовите метод unlink() для этого объекта:

Пример: Программа Python для удаления файла с помощью path lib

В приведенном выше примере метод path() используется для извлечения пути к файлу, тогда как метод unlink() используется для удаления или удаления файла по указанному пути.

Метод unlink() работает для файлов. Если указан каталог, возникает ошибка OSError. Чтобы удалить каталог, мы можем прибегнуть к одному из ранее рассмотренных методов.

Ссылки и обязательное чтение

Вывод

В этой статье мы изучили различные лучшие способы удаления файлов Python. Синтаксис удаления файла или папки с помощью Python довольно прост. Однако имейте в виду, что после выполнения вышеуказанных команд ваш файл или папка будут удалены навсегда.

Если у вас все еще есть какие-либо сомнения относительно Python, удалите файл. Дайте нам знать об этом в разделе комментариев ниже.

Python имеет несколько встроенных модулей, которые позволяют удалять файлы и каталоги.

В этом руководстве объясняется, как удалять файлы и каталоги с помощью функций из модулей os , pathlib и shutil .

Удаление файлов

В Python вы можете использовать os.remove() , os.unlink() , pathlib.Path.unlink() для удаления одного файла.

Модуль os обеспечивает переносимый способ взаимодействия с операционной системой. Модуль доступен как для Python 2, так и для 3.

Чтобы удалить один файл с помощью os.remove() , передайте путь к файлу в качестве аргумента:

os.remove() и os.unlink() семантически идентичны:

Если указанный файл не существует, FileNotFoundError ошибка FileNotFoundError . И os.remove() и os.unlink() могут удалять только файлы, но не каталоги. Если указанный путь указывает на каталог, они IsADirectoryError ошибку IsADirectoryError .

Для удаления файла требуется разрешение на запись и выполнение для каталога, содержащего файл. В противном случае вы получите ошибку PermissionError .

Модуль pathlib доступен в Python 3.4 и выше. Если вы хотите использовать этот модуль в Python 2, вы можете установить его с помощью pip. pathlib предоставляет объектно-ориентированный интерфейс для работы с путями файловой системы для различных операционных систем.

Чтобы удалить файл с pathlib модуля pathlib , создайте объект Path указывающий на файл, и вызовите метод unlink() для объекта:

pathlib.Path.unlink() , os.remove() и os.unlink() также можно использовать для удаления символической ссылки .

Сопоставление с образцом

Вы можете использовать модуль glob для сопоставления нескольких файлов на основе шаблона. Например, чтобы удалить все файлы .txt каталоге /tmp , вы должны использовать что-то вроде этого:

Модуль pathlib включает две функции glob, glob() и rglob() для сопоставления файлов в данном каталоге. glob() сопоставляет файлы только в каталоге верхнего уровня. rglob() сопоставляет все файлы в каталоге и всех подкаталогах. В следующем примере кода удаляются все файлы .txt каталоге /tmp :

Удаление каталогов (папок)

В Python вы можете использовать os.rmdir() и pathlib.Path.rmdir() для удаления пустого каталога и shutil.rmtree() для удаления непустого каталога.

В следующем примере показано, как удалить пустой каталог:

В качестве альтернативы вы можете удалить каталоги с pathlib модуля pathlib :

Модуль shutil позволяет выполнять ряд высокоуровневых операций с файлами и каталогами.

С помощью функции shutil.rmtree() вы можете удалить указанный каталог, включая его содержимое:

Аргумент, переданный в shutil.rmtree() не может быть символической ссылкой на каталог.

Выводы

Python предоставляет несколько модулей для работы с файлами.

Мы показали вам, как использовать os.remove() , os.unlink() , pathlib.Path.unlink() для удаления одного файла, os.rmdir() и pathlib.Path.rmdir() для удаления пустого файла. directory и shutil.rmtree() для рекурсивного удаления каталога и всего его содержимого.

Будьте особенно осторожны при удалении файлов или каталогов, потому что после удаления файла его будет нелегко восстановить.

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Обработка файлов в Python с помощью модуля os включает создание, переименование, перемещение, удаление файлов и папок, а также получение списка всех файлов и каталогов и многое другое.

В индустрии программного обеспечения большинство программ тем или иным образом обрабатывают файлы: создают их, переименовывают, перемещают и так далее. Любой программист должен обладать таким навыком. С этим руководством вы научитесь использовать модуль os в Python для проведения операций над файлами и каталогами вне зависимости от используемой операционной системы.

Важно знать, что модуль os используется не только для работы с файлами. Он включает массу методов и инструментов для других операций: обработки переменных среды, управления системными процессами, а также аргументы командной строки и даже расширенные атрибуты файлов, которые есть только в Linux.

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

Вывод текущей директории

Для получения текущего рабочего каталога используется os.getcwd() :

os.getcwd() возвращает строку в Юникоде, представляющую текущий рабочий каталог. Вот пример вывода:

Создание папки

Для создания папки/каталога в любой операционной системе нужна следующая команда:

После ее выполнения в текущем рабочем каталоге тут же появится новая папка с названием «folder».

Если запустить ее еще раз, будет вызвана ошибка FileExistsError , потому что такая папка уже есть. Для решения проблемы нужно запускать команду только в том случае, если каталога с таким же именем нет. Этого можно добиться следующим образом:

Функция os.path.isdir() вернет True , если переданное имя ссылается на существующий каталог.

Изменение директории

Менять директории довольно просто. Проделаем это с только что созданным:

Еще раз выведем рабочий каталог:

Создание вложенных папок

Предположим, вы хотите создать не только одну папку, но и несколько вложенных:

Это создаст три папки рекурсивно, как показано на следующем изображении:

Создание вложенных папок

Создание файлов

Для создания файлов в Python модули не нужны. Можно использовать встроенную функцию open() . Она принимает название файла, который необходимо создать в качестве первого параметра и желаемый режим открытия — как второй:

w значит write (запись), a — это appending (добавление данных к уже существующему файлу), а r — reading (чтение). Больше о режимах открытия можно почитать здесь.

Переименование файлов

С помощью модуля os достаточно просто переименовать файл. Поменяем название созданного в прошлом шаге.

Тип данных List в Python помогает сохранять разные типы данных в определенной связанной последовательности. Данные записываются в квадратные скобки и разделяются запятыми.

В Python есть несколько методов для удаления элементов из списка: remove() , pop() и clear() . Помимо них также существует ключевое слово del .

Рассмотрим их все.

Пример списка:

Индекс начинается с 0. В списке my_list на 0-ой позиции находится строка «Python». Далее:

  1. Целое число 50
  2. Число с плавающей точкой 11.50
  3. Снова строка — «Alex»
  4. Еще одно число 50
  5. Список из строк «A», «B» и «C»

Метод remove()

Метод remove() — это встроенный метод, который удаляет первый совпадающий элемент из списка.

Передается элемент, который нужно удалить из списка.

Метод не возвращает значений.

Как использовать:

Пример: использование метод remove() для удаления элемента из списка

В этом списке есть строки и целые числа. Есть повторяющиеся элементы: строка «Mars» и число 12.

Метод pop()

Этот метод удаляет элемент на основе переданного индекса.

Принимает лишь один аргумент — индекс.

  • Для удаления элемента списка нужно передать его индекс. Индексы в списках стартуют с 0. Для получения первого передайте 0. Для удаления последнего передайте -1.
  • Этот аргумент не является обязательным. Значение по умолчанию равно -1, поэтому по умолчанию будет удален последний элемент.
  • Если этот индекс не найден или он вне диапазона, то метод выбросит исключение IndexError: pop index .

Возвращает элемент, удаленный из списка по индексу. Сам же список обновляется и больше не содержит этот элемент.

Пример: использования метода pop() для удаления элемента

Попробуем удалить элемент с помощью pop:

  • По индексу
  • Не передавая индекс
  • Передав индекс вне диапазона

Удалим из списка «Sun». Индекс начинается с 0, поэтому индекс для «Sun» будет 2.

Метод clear()

Метод clear() удаляет все элементы из списка.

Нет ни параметров, ни возвращаемого значения.

Пример

Метод clear() очистит данный список. Посмотрим:

Ключевое слово del

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

Синтаксис: del list[index] .

Также можно выбрать элементы в определенном диапазоне и удалить их с помощью del . Для этого нужно передать начальное и конечное значение диапазона.

Синтаксис: del list[start:stop] .

Вот пример того как с помощью del можно удалить первый, последний и сразу несколько элементов списка:

Читайте также: