Автор оригинала: Team Python Pool.
Много раз пользователю или программисту 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 −
os.remove(path)
Параметры
- путь − Это путь или имя файла, который должен быть удален.
Возвращаемое значение
Метод remove() не возвращает значение.
Давайте рассмотрим некоторые примеры удаления файла Python с помощью функции os.remove.
Пример 1: Базовый пример удаления файла С помощью метода os.remove ().
# Importing the os library
import os
# Inbuilt function to remove files
os.remove("test_file.txt")
print("File removed successfully")
Выход:
File removed successfully
Пояснение: В приведенном выше примере мы удалили файл или удалили путь к файлу с именем testfile.txt. Шаги, объясняющие, как происходит поток программы, следующие:1. Во-первых, мы импортировали библиотеку ос, потому что метод remove() присутствует внутри библиотеки ос. Затем мы использовали встроенную функцию os.remove() для удаления пути к файлу.3. В этом примере наш пример файла выглядит следующим образом: “test_file.txt”. Вы можете разместить нужный вам файл здесь.
Примечание: Если нет файла с именем test_file.txt приведенный выше пример выдаст ошибку. Поэтому лучше сначала проверить, доступен ли файл или нет, прежде чем удалять его.
Пример 2: Проверка наличия файла с помощью os.path.isfile и Удаление его С Помощью os.remove
В примере 1 мы только что удалили файл, присутствующий в каталоге. Метод os.remove() будет искать файл для удаления в рабочем каталоге. Поэтому всегда лучше проверить, есть ли файл там или нет.
Давайте узнаем, как проверить, доступен ли файл с таким именем в этом пути или нет. Мы используем os.path.isfile для проверки доступности файла.
#importing the os Library
import os
#checking if file exist or not
if(os.path.isfile("test.txt")):
#os.remove() function to remove the file
os.remove("demo.txt")
#Printing the confirmation message of deletion
print("File Deleted successfully")
else:
print("File does not exist")
#Showing the message instead of throwig an error
Выход:
File Deleted successfully
В приведенном выше примере мы только что добавили метод os.path.isfile (). Этот метод помогает нам выяснить, существует ли файл в определенном месте или нет.
Пример 3: Программа Python для удаления всех файлов с определенным расширением
import os
from os import listdir.txt'):
os.remove(my_path + file_name)
Выход:
С помощью этой программы мы удалим все файлы из папки с расширением .txt .
Объяснение:
- Импортируйте модуль < em>os и listdir из модуля os . listdir требуется для получения списка всех файлов в определенной папке, а модуль os требуется для удаления файла.
- my_path – это путь к папке со всеми файлами.
- Мы перебираем файлы в данной папке. listdir используется для получения одного списка всех файлов в определенной папке.
- endswith используется для проверки того, заканчивается ли файл расширением .txt или нет. Поскольку мы удаляем все файлы .txt в папке, это , если условие подтвердит это.
- Если имя файла заканчивается расширением .txt, мы удаляем этот файл с помощью функции os.remove(). Эта функция принимает путь к файлу в качестве параметра. my_path + file_name – это полный путь к удаляемому файлу.
Пример 4: Программа Python для удаления всех файлов Внутри папки
Чтобы удалить все файлы в определенном каталоге, вам просто нужно использовать символ * в качестве строки шаблона.
#Importing os and glob modules
import os, glob
#Loop Through the folder projects all files and deleting them one by one
for file in glob.glob("pythonpool/*"):
os.remove(file)
print("Deleted " + str(file))
Выход:
Deleted pythonpool\test1.txt
Deleted pythonpool\test2.txt
Deleted pythonpool\test3.txt
Deleted pythonpool\test4.txt
В этом примере мы удаляем все файлы внутри папки pythonpool.
Примечание: Если папка будет содержать какую-либо подпапку, то ошибка может быть вызвана тем, что метод glob.glob() извлекает имена всего содержимого папки, будь то файлы или подпапки. Поэтому попробуйте сделать шаблон более конкретным, например *.*, чтобы получить только то содержимое, которое имеет расширение.
Python Удаляет Файл С Помощью os.unlink()
os.unlink () – это псевдоним или другое имя os.remove() . Как и в ОС Unix, remove также известен как unlink.
Примечание: Все функциональные возможности и синтаксис одинаковы для os.unlink() и os.remove(). Оба они используются для удаления пути к файлу Python.Оба являются методами в модуле os в стандартных библиотеках Python, который выполняет функцию удаления.
Он имеет два имени, псевдонимы: os.unlink() и os.remove()
Вероятная причина предоставления обоих псевдонимов одной и той же функции заключается в том, что сопровождающие этого модуля считали вероятным, что многие программисты перейдут на Python из низкоуровневого программирования на языке Си, где библиотечная функция и лежащий в ее основе системный вызов называются unlink() , в то время как другие, скорее всего, перейдут на язык с помощью оболочки или сценариев, где команда называется rm (сокращение от “remove”).
Python Удаляет Файл С Помощью shutil.rmtree()
shutil.rmtree(): Удаляет указанный каталог, все подкаталоги и все файлы. Эта функция особенно опасна, потому что она удаляет все без проверки (Python предполагает, что вы знаете, что делаете). В результате вы можете легко потерять данные, используя эту функцию.
rmtree() – это метод в модуле shutil, который удаляет каталог и его содержимое рекурсивным способом .
Синтаксис:
Sutil.rmtree(path,,)
Параметры:
path: Объект, подобный пути, представляющий путь к файлу. Объект, подобный пути, является либо строковым, либо байтовым объектом, представляющим путь.ignore_errors: Если ignore_errors имеет значение true, ошибки, возникающие в результате неудачного удаления, будут игнорироваться.oneerror: Если ignore_errors имеет значение false или опущено, такие ошибки обрабатываются вызовом обработчика, указанного onerror.
Давайте рассмотрим пример удаления файла с помощью скрипта python.
Пример: Программа Python для удаления файла с помощью shutil.rmtree()
# Python program to demonstrate shutil.rmtree()
import shutil
import os
# location
# directory
# path .path.join(location, dir)
# removing directory
shutil.rmtree(path)
Выход:
Он удалит весь каталог файлов внутри теста, включая саму папку теста.
Python Удаляет Файл С Помощью pathlib.Path.unlink()
Модуль path lib доступен в Python 3.4 и выше. Если вы хотите использовать этот модуль в Python 2, вы можете установить его с помощью pip. pathlib предоставляет объектно-ориентированный интерфейс для работы с путями файловой системы для различных операционных систем.
Чтобы удалить файл с модулемpathlib, создайте объект Path, указывающий на файл, и вызовите метод unlink() для этого объекта:
Пример: Программа Python для удаления файла с помощью path lib
#Example of file deletion by pathlib
import pathlib
.Path("pythonpool/testfile.txt")
rem_file.unlink()
В приведенном выше примере метод path() используется для извлечения пути к файлу, тогда как метод unlink() используется для удаления или удаления файла по указанному пути.
Метод unlink() работает для файлов. Если указан каталог, возникает ошибка OSError. Чтобы удалить каталог, мы можем прибегнуть к одному из ранее рассмотренных методов.
Ссылки и обязательное чтение
- Как преобразовать строку в нижний регистр в Python
- Как вычислить квадратный корень в Python
- Пользовательский ввод Python | Функция Python Input () | Ввод с клавиатуры
- Лучшая книга для изучения Python в 2020 году
- <а href=”https://docs.python.org/3/library/os.html#os.remove”>https://docs.python.org/3/library/os.html#os.remove
- <а href=”https://docs.python.org/3/library/shutil.html”>https://docs.python.org/3/library/shutil.html
- <а href=”https://docs.python.org/3/library/pathlib.html”>https://docs.python.org/3/library/pathlib.html
Вывод
В этой статье мы изучили различные лучшие способы удаления файлов Python. Синтаксис удаления файла или папки с помощью Python довольно прост. Однако имейте в виду, что после выполнения вышеуказанных команд ваш файл или папка будут удалены навсегда.
Если у вас все еще есть какие-либо сомнения относительно Python, удалите файл. Дайте нам знать об этом в разделе комментариев ниже.
Счастливого кодирования!