Управление каталогами и файлами Python

В этом руководстве вы узнаете об управлении файлами и каталогами в Python, то есть создании каталога, его переименовании, перечислении всех каталогов и работе с ними.

Видео: модуль ОС Python

Каталог Python

Если в нашей программе Python нужно обрабатывать большое количество файлов, мы можем расположить наш код в разных каталогах, чтобы упростить управление.

Каталог или папка - это набор файлов и подкаталогов. В Python есть osмодуль, который предоставляет нам множество полезных методов для работы с каталогами (а также с файлами).

Получить текущий каталог

Мы можем получить текущий рабочий каталог с помощью getcwd()метода osмодуля.

Этот метод возвращает текущий рабочий каталог в виде строки. Мы также можем использовать этот getcwdb()метод, чтобы получить его как объект байтов.

 >>> import os >>> os.getcwd() 'C:\Program Files\PyScripter' >>> os.getcwdb() b'C:\Program Files\PyScripter'

Дополнительная обратная косая черта подразумевает escape-последовательность. print()Функция сделает это правильно.

 >>> print(os.getcwd()) C:Program FilesPyScripter

Смена каталога

Мы можем изменить текущий рабочий каталог с помощью chdir()метода.

Новый путь, который мы хотим изменить, должен быть передан этому методу в виде строки. Мы можем использовать как прямую, так /и обратную косую черту для разделения элементов пути.

При использовании обратной косой черты безопаснее использовать escape-последовательность.

 >>> os.chdir('C:\Python33') >>> print(os.getcwd()) C:Python33

Список каталогов и файлов

С помощью этого listdir()метода можно получить все файлы и подкаталоги внутри каталога .

Этот метод принимает путь и возвращает список подкаталогов и файлов по этому пути. Если путь не указан, возвращается список подкаталогов и файлов из текущего рабочего каталога.

 >>> 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')

Создание нового каталога

Мы можем создать новый каталог с помощью mkdir()метода.

Этот метод принимает путь к новому каталогу. Если полный путь не указан, новый каталог создается в текущем рабочем каталоге.

 >>> os.mkdir('test') >>> os.listdir() ('test')

Переименование каталога или файла

rename()Метод может переименовать папку или файл.

Для переименования любого каталога или файла rename()метод принимает два основных аргумента: старое имя в качестве первого аргумента и новое имя в качестве второго аргумента.

 >>> os.listdir() ('test') >>> os.rename('test','new_one') >>> os.listdir() ('new_one')

Удаление каталога или файла

Файл можно удалить (удалить) с помощью remove()метода.

Точно так же rmdir()метод удаляет пустой каталог.

 >>> os.listdir() ('new_one', 'old.txt') >>> os.remove('old.txt') >>> os.listdir() ('new_one') >>> os.rmdir('new_one') >>> os.listdir() ()

Примечание . rmdir()Метод может удалять только пустые каталоги.

Чтобы удалить непустой каталог, мы можем использовать rmtree()метод внутри shutilмодуля.

 >>> os.listdir() ('test') >>> os.rmdir('test') Traceback (most recent call last):… OSError: (WinError 145) The directory is not empty: 'test' >>> import shutil >>> shutil.rmtree('test') >>> os.listdir() ()

Интересные статьи...