Видалення файлів і директорій у Python
У Python робота з файлами і каталогами є поширеним завданням, особливо для додатків, які потребують роботи з файлами. Цей посібник присвячено просунутим методам видалення файлів і каталогів за допомогою різних модулів Python, включно з os, shutil і pathlib. Кожен із цих модулів надає різні функціональні можливості для роботи з файловою системою, даючи вам змогу ефективно керувати файлами та каталогами. Для завантаження Python перейдіть за наступним посиланням з офіційного джерела python.org.
Розуміння модулів
1. Модуль os
Модуль os надає можливість використовувати функціональність, що залежить від операційної системи, наприклад, читання або запис у файлову систему. Він містить функції видалення файлів і каталогів. Використання модуля os у середовищі хостингу Linux VPS забезпечує ефективний контроль над керуванням файлами та іншими операціями системного рівня. Цей модуль дає змогу розробникам виконувати такі дії, як читання, запис і видалення файлів і каталогів безпосередньо на сервері
Ключові функції:
- os.remove(path): Видаляє шлях до файлу.
- os.rmdir(path): Видаляє (знищує) шлях до каталогу. Каталог має бути порожнім.
- os.unlink(path): Інша назва функції os.remove(), використовуваної для видалення файлу.
2. Модуль shutil
Модуль shutil пропонує високорівневий інтерфейс для роботи з файлами. Він особливо корисний для копіювання та видалення каталогів і файлів.
Ключові функції:
- shutil.rmtree(path): Рекурсивно видаляє каталог і весь його вміст, включно з підкаталогами та файлами.
- shutil.move(src, dst): Переміщує файл або каталог в інше місце. Також може використовуватися для видалення файлів шляхом їх переміщення в неіснуючий каталог.
3. Модуль pathlib
Модуль pathlib надає об’єктно-орієнтований підхід до роботи з шляхами файлової системи. Цей модуль з’явився в Python 3.4 і вважається більш інтуїтивним і зручним для читання.
Ключові функції:
- Path.unlink(): Видаляє файл.
- Path.rmdir(): Видаляє порожній каталог.
- Path.rmtree(): Щоб видалити каталог і його вміст, зазвичай використовується shutil.rmtree() у поєднанні з Path.
Розширені методи видалення файлів і каталогів
Використання модуля os
Ось як використовувати модуль os для видалення файлів і каталогів:
Варіант A: Запуск в інтерактивному Python
- Відкрийте інтерактивний сеанс Python, набравши:
(Використовуйте python, якщо саме так налаштовано Python у вашій системі, але зазвичай python3 – це рекомендована команда для Python 3.x).
- Скопіюйте та вставте код безпосередньо в інтерактивну сесію (сценарій нижче)
птах B: Запис у файл сценарію Python
- Створіть новий файл за допомогою текстового редактора, наприклад nano:
- Скопіюйте та вставте у файл наступний код (сценарій нижче)
- Тепер ви можете запустити ваш Python-скрипт із терміналу:
Видалення одного файлу
import os
file_path = 'example.txt'
try:
os.remove(file_path)
print(f'Успішно видалено {file_path}')
except FileNotFoundError:
print(f'Файл {file_path} не існує')
except PermissionError:
print(f'Permission denied: unable to delete {file_path}')
except Exception as e:
print(f'Сталася помилка: {e}')