Рубрики
Без рубрики

[Лучшие] Способы удаления файла в Python

Существует несколько способов удаления файла в Python, но лучшие из них следующие: os.remove (), os.unlink (), shutil.rmtree(), pathlib.Path.unlink()

Автор оригинала: 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 .

Объяснение:

  1. Импортируйте модуль < em>os и listdir из модуля os . listdir требуется для получения списка всех файлов в определенной папке, а модуль os требуется для удаления файла.
  2. my_path – это путь к папке со всеми файлами.
  3. Мы перебираем файлы в данной папке. listdir используется для получения одного списка всех файлов в определенной папке.
  4. endswith используется для проверки того, заканчивается ли файл расширением .txt или нет. Поскольку мы удаляем все файлы .txt в папке, это , если условие подтвердит это.
  5. Если имя файла заканчивается расширением .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, удалите файл. Дайте нам знать об этом в разделе комментариев ниже.

Счастливого кодирования!