Имя файла или папки можно использовать с полным путем или просто упоминать имя файла или папки только для использования их в сценарии. Полный путь к файлу или папке из корневого каталога указывается абсолютным путем. Когда имя файла используется без имени пути в сценарии, тогда Текущий рабочий каталог принимается как путь к файлу и называется относительным путем. В Python в качестве текущего рабочего каталога устанавливается расположение каталога, из которого выполняется скрипт python. В python существует множество модулей для получения текущего рабочего каталога. В этом руководстве показаны способы получения текущего рабочего каталога с помощью различных модулей в Python.
Пример-1: Использование модуля pathlib для получения текущего рабочего каталога
Класс пути модуль pathlib используется для чтения текущего рабочего каталога исполняемого скрипта. Создайте сценарий python со следующим кодом для чтения и печати текущего рабочего каталога с помощью модуля pathlib. В cwd () метод класса Path используется для печати текущего рабочего каталога, из которого выполняется сценарий.
# Импортировать путь из модуля pathlib
изpathlibИмпортироватьДорожка
# Получить путь к текущему рабочему каталогу
current_working_directoryзнак равноДорожка.cwd()
# Распечатать расположение текущего рабочего каталога
Распечатать('Расположение текущего рабочего каталога:')
Распечатать(current_working_directory)
Выход:
Следующий вывод появится после выполнения вышеуказанного сценария. Здесь путь к текущему рабочему каталогу без имени сценария показан в выходных данных.
Пример-2: Использование normpath () и abspath () для получения текущего рабочего каталога
Использование модуля os - это еще один способ получить текущий рабочий каталог. В классе пути модуля os существуют различные методы для получения текущего рабочего каталога. Normpath () и abspath () методы двое из них. Эти методы возвращают текущий рабочий каталог в виде строки. Создайте файл python со следующим скриптом, чтобы проверить назначение этих функций.
# Импортировать модуль ОС
Импортировать ты
# Распечатать текущий рабочий каталог с помощью функции normpath ()
Распечатать('Текущий рабочий каталог (с использованием normpath ()):')
Распечатать(ты.дорожка.dirname(ты.дорожка.нормальный путь(__файл__)))
# Распечатать текущий рабочий каталог с помощью функции abspath ()
Распечатать(' пТекущий рабочий каталог (с использованием abspath ()): ')
Распечатать(ты.дорожка.abspath('.'))
Выход:
Следующий вывод появится после выполнения вышеуказанного сценария. Здесь путь к текущему рабочему каталогу без имени сценария показан в выходных данных.
Пример-3: Использование realpath () для получения текущего рабочего каталога
В realpath () - еще один метод получения текущего рабочего каталога. Создайте файл python со следующим сценарием, чтобы распечатать текущий рабочий каталог с именем сценария, используя realpath () метод . В сценарии требуется __файл__ в качестве значения аргумента, содержащего путь к файлу, в который импортируется модуль os.
# Импортировать модуль ОСИмпортировать ты
# Прочитать текущий рабочий каталог с помощью функции realpath ()
real_pathзнак равно ты.дорожка.реальный путь(__файл__)
# Распечатать текущий рабочий каталог с именем скрипта
Распечатать(' пТекущий рабочий каталог с именем сценария: ')
Распечатать(real_path)
Выход:
Следующий вывод появится после выполнения вышеуказанного сценария. Здесь путь к текущему рабочему каталогу с именем сценария показан в выходных данных.
Пример-4: Использование getcwd () для получения текущего рабочего каталога
С помощью функция getcwd () модуля os - это самый простой способ получить текущий рабочий каталог исполняемого скрипта. Он не содержит аргументов и возвращает CWD в виде строки. Создайте файл python со следующим сценарием, чтобы проверить использование функция getcwd () . Текущий рабочий каталог печатается в начале скрипта. Затем текущий путь к каталогу изменяется с помощью функция chdir () . В команда getcwd () вызывается снова после смены каталога.
# Импортировать модуль ОСИмпортировать ты
# Распечатать текущий рабочий каталог с помощью функции getcwd ()
Распечатать('Текущий рабочий каталог: п', ты.getcwd())
# Изменить текущий рабочий каталог
ты.чдир('/ etc / mail')
# Распечатать текущий рабочий каталог после изменения
Распечатать(' пТекущий рабочий каталог после изменения: п', ты.getcwd())
Выход:
Следующий вывод появится после выполнения вышеуказанного сценария. Здесь перед изменением каталога был напечатан путь к текущему рабочему каталогу без имени сценария. Затем был напечатан измененный путь к каталогу.
Пример 5: Использование getcwd () с try-except для получения текущего рабочего каталога
Создайте файл python со следующим сценарием, чтобы изменить текущий рабочий каталог на основе входного значения и обработать различные типы ошибок. С помощью скрипта можно обработать три типа ошибок. В Ошибка FileNotFoundError будет сгенерирован, если путь, взятый из ввода, не существует. В Ошибка NotADirectoryError будет сгенерирован, если путь, взятый из входных данных, не является каталогом. В Ошибка PermissionError будет сгенерирован, если путь, взятый из ввода, недоступен.
# Импортировать модуль ОСИмпортировать ты
# Введите путь к каталогу
cwdзнак равно Вход('Введите путь к текущему рабочему каталогу: п')
пытаться:
# Изменить текущий рабочий каталог
ты.чдир(cwd)
# Распечатать текущий рабочий каталог с помощью функции getcwd ()
Распечатать('Текущий рабочий каталог: п', ты.getcwd())
# Вызвать ошибку, если каталог не существует
КромеFileNotFoundError:
Распечатать('Каталог не существует'.)
# Вызывает ошибку, если входной путь не является каталогом
КромеNotADirectoryError:
Распечатать('% s не каталог'%(cwd))
# Вызвать ошибку, если каталог недоступен
КромеPermissionError:
Распечатать(«Отказано в разрешении на изменение каталога».)
Выход:
Следующий вывод появится после выполнения вышеуказанного сценария, если путь существует. Здесь принятый входной путь существует, и измененный рабочий каталог напечатан в выходных данных.
Следующий вывод появится после выполнения вышеуказанного сценария, если путь не существует.
Следующий вывод появится после выполнения вышеуказанного сценария, если выбранный путь недоступен.
Заключение:
Использование модулей pathlib и os для чтения текущего рабочего каталога показано в этом руководстве на различных примерах. В этом руководстве также был показан способ получения текущего рабочего каталога после изменения текущего рабочего каталога на основе ввода данных пользователем.