Удаление файлов и каталогов в 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-скрипт из терминала:
Удаление одного файла
импорт os
file_path = 'example.txt'
try:
os.remove(file_path)
print(f'Successfully deleted {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}')