English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
В этой статье вы узнаете о управлении файлами и каталогами в Python, то есть создании каталога, его переименовании, списке всех каталогов и их использовании.
Если в вашем Python-программеобрабатыватьмногоФайлыЕсли у вас много кода, вы можете разложить его в разных каталогах, чтобы было легче управлять.
Каталог или папка является集合ом файлов и подкаталогов. Python имеет os Модульон предоставляет нам множество полезных методов для работы с каталогами (и файлами).
Мы можем получить текущий рабочий каталог с помощью метода getcwd().
Этот метод возвращает текущий рабочий каталог в виде строки. Мы также можем получить его в виде байтового объекта с помощью метода getcwdb().
>>> 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().
Новый путь, который мы хотим изменить, должен предоставляться этому методу в виде строки. Мы можем использовать косую черту (/) или обратный слеш (\) для разделения путей.
Использование обратных слешей безопаснее с помощью 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() может переименовать директорию или файл.
Первый параметр - это старое имя, а новое имя должно быть в качестве второго параметра.
>>> 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 (последний вызов в начале): ... OSError: [WinError 145] Директория не пуста: 'test' >>> import shutil >>> shutil.rmtree('test') >>> os.listdir() []