Чтобы удалить существующие файлы в Python, мы можем использовать некоторые встроенные методы, такие как метод os.remove(), os.unlink(), file_path.unlink(), os.system() и subprocess.run([]). Кроме того, мы будем использовать os.walk() для создания списка существующих файлов в каталоге для одновременного удаления всех файлов.
- С помощью os.remove()
- Как удалить несколько файлов
- Метод os.unlink()
- Метод unlink()
- Используя функцию pathlib.Path.unlink()
- С помощью os.system()
- С помощью метода run
С помощью 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:
Как удалить несколько файлов
Вы также можете удалить несколько файлов в 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).
Метод os.unlink()
Я использовал метод 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)
Метод 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")
Вот скриншот вывода кода:
Используя функцию pathlib.Path.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.
С помощью 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])