Python удалить файлы по маске
Много раз пользователю или программисту 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». Далее:
- Целое число 50
- Число с плавающей точкой 11.50
- Снова строка — «Alex»
- Еще одно число 50
- Список из строк «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 можно удалить первый, последний и сразу несколько элементов списка:
Читайте также: