Чтобы удалить существующие файлы в Python, мы можем использовать некоторые встроенные методы, такие как метод os.remove(), os.unlink(), file_path.unlink(), os.system() и subprocess.run([]). Кроме того, мы будем использовать os.walk() для создания списка существующих файлов в каталоге для одновременного удаления всех файлов.

Содержание

С помощью os.remove()

Функция os.remove() является частью модуля os в Python, который используется для удаления файлов из каталога, указанного в пути, если файл существует.

Если файл не существует, в Python возникнет ошибка FileNotFoundError.

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

 import os

try:
    file_path = r" # Please add your file path here "
    os.remove(file_path)
    print("File has been deleted successfully")
except FileNotFoundError:
    print("File not found")
except PermissionError:
    print("You don't have permission to delete this file")

Вот скриншот после того, как мы запустили код в редакторе Python:

С помощью os.remove()

Как удалить несколько файлов

Вы также можете удалить несколько файлов в Python, используя встроенные функции модуля os.

Мы будем использовать os.walk() для создания списка Pyhton существующих файлов в каталоге, а затем os.remove() для удаления файла.

import os

def get_all_files_in_directory(directory_path):
    file_paths = []
    for root, _, files in os.walk(directory_path):
        for file in files:
            file_paths.append(os.path.join(root, file))
    return file_paths

directory_path = r'C:\Users\Asus\OneDrive\Desktop\Articles\Core Python\5 different ways to Delete files in Python'
all_files = get_all_files_in_directory(directory_path)

for file_path in all_files:
    if ".txt" in file_path:
        os.remove(file_path)

Примечание. В этой программе я указал только условие удаления текстовых файлов(.txt).

Как удалить несколько файлов 

Я использовал метод unlink() для удаления файлов из каталога в Python. Это встроенный метод библиотеки ОС, который удаляет файлы в Python.

Вот пример:

import os

file_path = r'C:\Users\Asus\OneDrive\Desktop\Articles\Core Python\5 different ways to Delete files in Python\file4.txt'
os.unlink(file_path)

Метод os.unlink() 

Чтобы удалить все файлы из каталога в Python, вы можете использовать метод unlink() библиотеки os.

Вот код для удаления всех файлов из папки, если они уже существуют в Python.

import os

def get_all_files_in_directory(directory_path):
    file_paths = []
    for root, _, files in os.walk(directory_path):
        for file in files:
            file_paths.append(os.path.join(root, file))
    return file_paths

directory_path = r'C:\Users\Asus\OneDrive\Desktop\Articles\Core Python\Contian_files'
all_files = get_all_files_in_directory(directory_path)

count = 0
for file_path in all_files:
        os.unlink(file_path)
        count += 1
        
print(f"Total {count} files has been deleted successfully")

Вот скриншот вывода кода:

Метод unlink()

Мы можем удалить файл в Python, используя метод unlink() модуля pathlib в Python.

Вот пример удаления файла в Python с использованием pathlib.

from pathlib import Path
try:
    file_path = Path(r"C:\Users\Asus\OneDrive\Desktop\Articles\Core Python\Contian_files\file2.txt")
    file_path.unlink()
    print("File Removed Successfully")

except Exception as e:
    print(f"Something went wrong: {e}")

Примечание. Если вы хотите удалить несколько файлов с помощью этого метода, вы можете использовать цикл for в Python.

Используя функцию pathlib.Path.unlink()

С помощью os.system()

Используя метод Python os.system(), мы можем выполнять множество задач, включая удаление файла в Python. Вы будете использовать команды оболочки в качестве параметра этого метода.

Код для ОС Windows:

import os

file_path = r'C:\Users\Asus\OneDrive\Desktop\Articles\"Core Python"\5_different_ways_to_Delete_files_in_Python\file3.txt'

os.system(f"del {file_path} ") # For windows, we will use "del"

Код для Linux или Mac:

import os

file_path = r'C:\Users\Asus\OneDrive\Desktop\Articles\"Core Python"\5_different_ways_to_Delete_files_in_Python\file3.txt'

os.system(f"rm {file_path} ")
 # for mac and linux, we will use "rm"

С помощью метода run

Мы будем использовать метод run модуля подпроцесса. Мы предоставим команды оболочки в качестве параметра для удаления файла с помощью Python.

Давайте рассмотрим один пример удаления файла в Python.

import subprocess

file_path = r'C:\Users\Asus\OneDrive\Desktop\Articles\Core_Python\5_different_ways_to_Delete_files_in_Python\demo.txt'

subprocess.run(['cmd', '/c', 'del', file_path])
Добавить комментарий