Что такое каталог в python
Операции с каталогами в Python: работа с каталогами и директориями
14 июля 2023
Оценки статьи
Еще никто не оценил статью
В этом руководстве мы рассмотрим операции с каталогами в Python. Мы узнаем, как получить список каталогов, получить текущий каталог, изменить каталог, создать каталог, переименовать каталог и удалить каталог. Работа с каталогами важна при работе с файлами и организации структуры файловой системы.
Примеры операций
1. Получение списка каталогов – os.listdir()
Мы можем получить список каталогов в определенном месте с помощью функции os.listdir() . Если указать путь к местоположению, функция вернет список строк, содержащих имена каталогов в данном месте. Пример:
import os location = '/usr' directories = os.listdir(location) print(directories)
['bin', 'lib', 'local', 'sbin', 'share', 'src']
2. Получение текущего каталога – os.getcwd()
Мы можем узнать текущий каталог, в котором находится исполняемый файл, с помощью функции os.getcwd() . Пример:
import os current_directory = os.getcwd() print(current_directory)
/home/user/documents
3. Изменение каталога – os.chdir()
Мы можем изменить текущий каталог с помощью функции os.chdir() . Пример:
import os new_directory = '/home/user/downloads' os.chdir(new_directory)
4. Создание каталога – os.mkdir()
Мы можем создать новый каталог с помощью функции os.mkdir() . Пример:
import os new_directory = '/home/user/documents/new_directory' os.mkdir(new_directory)
5. Переименование каталога – os.rename()
Мы можем переименовать каталог с помощью функции os.rename() . Пример:
import os old_name = '/home/user/documents/old_directory' new_name = '/home/user/documents/new_directory' os.rename(old_name, new_name)
6. Удаление каталога – os.rmdir()
Мы можем удалить пустой каталог с помощью функции os.rmdir() . Пример:
import os directory_to_delete = '/home/user/documents/directory_to_delete' os.rmdir(directory_to_delete)
Примечание: os.rmdir() может удалить только пустой каталог. Для удаления непустых каталогов можно использовать модуль shutil .
Зачем нам нужно работать с каталогами?
Работа с каталогами важна при организации файловой системы и обработке файлов в Python. Мы можем создавать, переименовывать, удалять и изменять каталоги, чтобы управлять файлами и директориями в проектах. Каталоги могут быть динамическими, поэтому работа с ними позволяет нам адаптироваться к различным условиям и требованиям при работе с файлами.
Вывод
В этом руководстве мы изучили операции с каталогами в Python. Мы рассмотрели различные операции, такие как получение списка каталогов, получение текущего каталога, изменение каталога, создание каталога, переименование каталога и удаление каталога. Работа с каталогами является важной частью организации файлов и обработки файловых операций в Python.
Меню категорий
-
Загрузка категорий.
Добро пожаловать в Блог Разработчика Владислава Александровича.
Ведется медленная, но уверенная разработка функционала сайта.
Django Core: 0.3.4 / Next.js 1.0 / UPD: 05.06.2023
Работа с каталогами в Python
Модуль ОС в python предоставляет функции для взаимодействия с операционной системой. Этот модуль содержит интерфейс для многих функций, зависящих от операционной системы, для управления процессами, файлами, файловыми дескрипторами, каталогами и другими «низкоуровневыми» функциями ОС.
Текущий рабочий каталог Getcwd()
Getcwd() возвращает путь к текущему рабочему каталогу. Это каталог, который ОС использует для преобразования относительного имени файла в абсолютное имя файла.
import os cur_dir = os.getcwd() print(cur_dir)
Список содержимого каталога Listdir()
Функция listdir() возвращает содержимое каталога.
import os contents = os.listdir() print(contents)
Создание новой папки mkdir() в Python
Метод mkdir() создает новый каталог. Он возвращает ошибку, если родительский каталог не существует.
import os os.mkdir("Temp")
В приведенном выше примере создайте новый каталог «Temp» в текущем пути.
Создание подкаталогов в Python
import os os.makedirs("Temp/temp1/temp2/")
Удаление пустой папки
Метод rmdir() удалит пустой каталог или папку.
import os os.rmdir("Temp")
Переименование папки в Python
Метод os.rename() может переименовать папку из старого имени в новое.
import os os.rename("Temp","Temp11")
Создание каталога в Python
Чтобы создать каталог с помощью программы в Python, используйте функцию os.mkdir() и передайте путь к каталогу, который будет создан, в качестве аргумента функции.
Синтаксис
Синтаксис функции os.mkdir():
os.mkdir(path, mode=0o777, *, dir_fd=None)
Где, путь – это расположение каталога, который будет создан, а режим – права доступа к файлу, которые будут назначены при создании каталога.
Пример 1
В этом примере мы создадим каталог с именем «sample».
import os os.mkdir('sample') print('The directory is created.')
Если вы укажете только имя каталога, он будет создан по пути, по которому вы запускаете программу в python.
Если вы хотите создать каталог в определенном месте, укажите полный или абсолютный путь к каталогу.
import os os.mkdir('D:\workspace\sample') print('The directory is created.')
Пример 2: создание каталога с уже существующим именем
Если вы попытаетесь создать каталог, который уже существует, вы получите FileExistsError.
import os os.mkdir('sample') print('The directory is created.')
Traceback (most recent call last): File "example.py", line 3, in os.mkdir('sample') FileExistsError: [WinError 183] Cannot create a file when that file already exists: 'sample'
В ошибке четко указано, что «Невозможно создать файл, если этот файл уже существует». Трассировка стека также предоставляет строку с ошибкой в файле python и файле, который он пытался создать.
Вы можете проверить, существует ли уже каталог, а затем создать его.
import os dirPath = 'C:/workspace/python/sample' if not os.path.isdir(dirPath): print('The directory is not present. Creating a new one..') os.mkdir(dirPath) else: print('The directory is present.')
В этом руководстве мы узнали, как создать новый каталог с помощью примеров программ в Python.
Управление каталогами и файлами в Python
В этой статье вы узнаете все, об управлении каталогами и файлами. А именно:
- Создание каталога
- Переименование каталога
- Перечисление всех каталогов и работа с ними
Текущий каталог Python
Получение текущего каталога, то есть каталог в котором, на данный момент находится ваш скрипт, осуществляется с помощью функции getcwd() . Данная функция вернет нам текущий каталог в виде строки.
import os print(os.getcwd()) Результат: 'C:\\Python\test'
Изменение каталога
С помощью метода chdir() , мы сможем изменить текущий рабочий каталог. Новый путь на который мы хотим изменить положение каталога, необходимо передать в качестве строки, нашей функции. Рассмотрим пример:
import os os.chdir('C:\\Pythontest') print(os.getcwd()) Результат: 'C:\\Pythontest'
Список файлов в каталоге Python
Используя метод listdir() мы извлечем все файлы и подкаталоги внутри корневого каталога. Данный метод принимает путь в качестве строки, и возвращает список подкаталогов и файлов. В случае, если не указан путь, он вернет список из текущего каталога.
import os print(os.getcwd()) Результат: C:\\Python\test os.listdir() Результат: ['files','sql','sqllite','Readme.txt','pydo.py','pars.py','info.txt','Lib','libs','Tools',]
Создание нового каталога Python
Новый каталог создается так же просто, как и все остальные операции, для этого достаточно воспользоваться функцией mkdir() . Данный метод в качестве аргумента принимает путь к новому каталогу. Если же путь не указан, то новый каталог будет создан в текущей директории.
os.mkdir('Python20') os.listdir() ['Python20']
Переименование каталога в Python
Метод rename() , поможет вам переименовать будь то каталог, или файл. Данный метод принимает два аргумента. Первый аргумент, это старое название, а второй это соответственно новое название.
os.listdir() ['Python20'] os.rename('Python20', 'NewPython20') os.listdir() ['NewPython20']
Удаление файла в Python
С помощью метода remove() , мы можем удалить файлы, или используем метод rmdir() , для удаление пустого каталога.
os.listdir() ['NewPython20', 'test.txt'] os.remove('test.txt') os.listdir() ['NewPython20'] os.rmdir('NewPython20') os.listdir() []
Возникает момент, когда нам надо удалить непустой каталог, для этого мы можем воспользоваться rmtree() функцией, которая поставляется в модуле shutil() .
import shutil shutil.rmtree("NewPython20") os.listdir() []