Видалення файлів і каталогів у Python
Розширене видалення файлів і каталогів у Python на VPS AlexHost
Навіщо вивчати видалення файлів у Python? Керування файлами та каталогами є основним завданням для розробників, особливо на Linux VPS AlexHost, де розміщуються динамічні додатки або CMS-платформи на кшталт WordPress. Модулі os, shutil і pathlib мови Python роблять видалення файлів і каталогів ефективним і безпечним, а твердотільні накопичувачі AlexHost і root-доступ забезпечують максимальну продуктивність. Цей посібник охоплює передові методи видалення, разом з обробкою помилок, для безперешкодного керування файлами.
Розуміння модулів
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 у вашій системі, але для Python 3.x зазвичай рекомендується команда python3).
- Скопіюйте та вставте код безпосередньо в інтерактивну сесію (скрипт нижче)
пташка 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}')