Видалення файлів і каталогів у 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).
- Скопіюйте та вставте код безпосередньо в інтерактивну сесію (скрипт нижче)
пташка B: запис до файлу скрипта на Python
- Створіть новий файл за допомогою текстового редактора, наприклад, nano:
- Скопіюйте та вставте наступний код у файл (скрипт нижче)
- Тепер ви можете запустити ваш Python-скрипт з терміналу:
Видалення одного файлу
import os
file_path = 'example.txt'
try:
os.remove(file_path)
print(f'Successfully deleted {file_path}')
except FileNotFoundError:
print(f'The file {file_path} does not exist')
except PermissionError:
print(f'Permission denied: unable to delete {file_path}')
except Exception as e:
print(f'An error occurred: {e}')