Видалення файлів і каталогів у python
Розширений посібник з видалення файлів і каталогів у Python
У Python робота з файлами та каталогами є поширеним завданням, особливо для додатків, які потребують маніпуляцій з файлами. Цей посібник присвячений розширеним методам видалення файлів і каталогів за допомогою різних модулів Python, зокрема os, shutil і pathlib. Кожен з цих модулів надає різні функціональні можливості для роботи з файловою системою, дозволяючи вам ефективно керувати файлами і каталогами. Щоб завантажити Python, перейдіть за наступним посиланням з офіційного джерела python.org.
Розуміння модулів
1. Модуль os
Модуль os надає можливість використовувати залежні від операційної системи функції, такі як читання або запис до файлової системи. Він включає в себе функції для видалення файлів і каталогів. Використання модуля os на хостингу Linux VPS забезпечує ефективний контроль над управлінням файлами та іншими операціями системного рівня. Цей модуль дозволяє розробникам виконувати такі дії, як читання, запис і видалення файлів і каталогів безпосередньо на сервері
Основні функції:
- os.remove(path): Вилучає (видаляє) шлях до файлу.
- os.rmdir(шлях): Вилучає (видаляє) шлях до каталогу. Каталог має бути порожнім.
- os.unlink(шлях): Інша назва для os.remove(), використовується для видалення файлу.
2. Модуль shutil
Модуль shutil пропонує високорівневий інтерфейс для роботи з файлами. Він особливо корисний для копіювання та видалення каталогів і файлів.
Основні функції:
- shutil.rmtree(шлях): Рекурсивно видаляє каталог і весь його вміст, включно з підкаталогами і файлами.
- 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).
- Скопіюйте та вставте код безпосередньо в інтерактивну сесію (скрипт нижче)
крок Б: запис до файлу скрипта на Python
- Створіть новий файл за допомогою текстового редактора, наприклад, nano:
- Скопіюйте та вставте у файл наступний код (скрипт нижче)
- Тепер ви можете запустити ваш Python-скрипт з терміналу:
Видалення одного файлу
import os
file_path = 'example.txt'
try:
os.remove(шлях до файлу)
print(f'Успішно видалено {шлях_до_файлу}')
except FileNotFoundError:
print(f'Файл {шлях_до_файлу} не існує')
except PermissionError:
print(f'У дозволі відмовлено: неможливо видалити {шлях_до_файлу}')
except Exception as e:
print(f'Виникла помилка: {e}')