Управление каталогами и файлами Python
Каталог — это набор файлов и подкаталогов. Каталог внутри каталога называется подкаталогом.
В Python есть модуль os, который предоставляет нам множество полезных методов для работы с каталогами (а также файлами).
Получение текущего каталога в Python
Мы можем получить текущий рабочий каталог, используя метод getcwd() модуля os.
Этот метод возвращает текущий рабочий каталог в виде строки. Например,
import os
print(os.getcwd())
# Вывод: C:\Program Files\PyScripter
Здесь getcwd() возвращает текущий каталог в виде строки.
Изменение каталога в Python
В Python мы можем изменить текущий рабочий каталог с помощью метода chdir().
Новый путь, в который мы хотим перейти, должен быть передан как строка этому методу. И мы можем использовать как прямой слэш /, так и обратный слэш \ для разделения элементов пути.
Рассмотрим пример,
import os
# изменить каталог
os.chdir('C:\\Python33')
print(os.getcwd())
Output: C:\Python33
Здесь мы использовали метод chdir() для изменения текущего рабочего каталога и передали новый путь как строку в chdir().
Список каталогов и файлов в Python
Все файлы и подкаталоги внутри каталога можно получить с помощью метода listdir().
Этот метод принимает путь и возвращает список подкаталогов и файлов в этом пути.
Если путь не указан, он возвращает список подкаталогов и файлов из текущего рабочего каталога.
import os
print(os.getcwd())
C:\Python33
# список всех подкаталогов
os.listdir()
['DLLs',
'Doc',
'include',
'Lib',
'libs',
'LICENSE.txt',
'NEWS.txt',
'python.exe',
'pythonw.exe',
'README.txt',
'Scripts',
'tcl',
'Tools']
os.listdir('G:\\')
['$RECYCLE.BIN',
'Movies',
'Music',
'Photos',
'Series',
'System Volume Information']
Создание нового каталога в Python
В Python мы можем создать новый каталог с помощью метода mkdir().
Этот метод принимает путь к новому каталогу. Если полный путь не указан, новый каталог создаётся в текущем рабочем каталоге.
os.mkdir('test')
os.listdir()
['test']
Переименование каталога или файла
Метод rename() может переименовать каталог или файл.
Для переименования каталога или файла rename() принимает два основных аргумента:
старое имя как первый аргумент
новое имя как второй аргумент.
Рассмотрим пример,
import os
os.listdir()
['test']
# переименовать каталог
os.rename('test','new_one')
os.listdir()
['new_one']
Здесь каталог 'test' переименован в 'new_one' с помощью метода rename().
Удаление каталога или файла в Python
В Python мы можем использовать метод remove() или метод rmdir() для удаления файла или каталога.
Сначала давайте используем remove() для удаления файла,
import os
# удалить файл "myfile.txt"
os.remove("myfile.txt")
Здесь мы использовали метод remove() для удаления файла "myfile.txt".
Теперь давайте используем rmdir() для удаления пустого каталога,
import os
# удалить пустой каталог "mydir"
os.rmdir("mydir")
Чтобы удалить непустой каталог, мы можем использовать метод rmtree() внутри модуля shutil. Например,
import shutil
# удалить каталог "mydir" и всё его содержимое
shutil.rmtree("mydir")
Предупреждение
Важно отметить, что эти функции навсегда удаляют файлы или каталоги, поэтому нужно быть осторожным при их использовании.