Управление каталогами и файлами Python
Каталог Python и управление файлами
В этом руководстве вы узнаете об управлении файлами и каталогами в Python, т. е. о создании каталога, его переименовании, выводе списка всех каталогов и работе с ними.
Видео:Модуль ОС Python
Каталог Python
Если в нашей программе на Python нужно обработать большое количество файлов, мы можем расположить наш код в разных каталогах, чтобы упростить управление.
Каталог или папка — это набор файлов и подкаталогов. Python имеет os
модуль, который предоставляет нам множество полезных методов для работы с каталогами (а также с файлами).
Получить текущий каталог
Мы можем получить текущий рабочий каталог, используя getcwd()
метод os
модуль.
Этот метод возвращает текущий рабочий каталог в виде строки. Мы также можем использовать getcwdb()
метод, чтобы получить его как объект bytes.
>>> import os
>>> os.getcwd()
'C:\\Program Files\\PyScripter'
>>> os.getcwdb()
b'C:\\Program Files\\PyScripter'
Дополнительная обратная косая черта подразумевает escape-последовательность. print()
функция отобразит это правильно.
>>> print(os.getcwd())
C:\Program Files\PyScripter
<час> Изменение каталога
Мы можем изменить текущий рабочий каталог, используя chdir()
метод.
Новый путь, который мы хотим изменить, должен быть предоставлен этому методу в виде строки. Мы можем использовать как прямую косую черту /
или обратную косую черту \
для разделения элементов пути.
При использовании обратной косой черты безопаснее использовать управляющую последовательность.
>>> 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()
[]
Python
- Управление памятью C++:создание и удаление
- Ключевые слова и идентификаторы Python
- Оператор Python, отступы и комментарии
- Переменные Python, константы и литералы
- Преобразование типов Python и приведение типов
- Ввод, вывод и импорт Python
- Глобальные, локальные и нелокальные переменные Python
- Числа Python, преобразование типов и математика
- Ошибки Python и встроенные исключения
- Как получить текущую дату и время в Python?