Освойте Python на курсе от Skypro. Вас ждут 400 часов обучения и практики (достаточно десяти часов в неделю), подготовка проектов для портфолио, индивидуальная проверка домашних заданий и помощь опытных наставников. Получится, даже если у вас нет опыта в IT.
Часто разработчикам на Python необходимо узнать путь и имя файла, который в данный момент выполняется. Это может быть полезно в множестве случаев, например, когда один скрипт вызывает другой, и требуется узнать путь и имя файла, в котором выполняется код.
Допустим, есть три файла: main_script.py
, helper_1.py
и helper_2.py
. В main_script.py
вызывается helper_1.py
, который в свою очередь запускает helper_2.py
. Задача — узнать путь и имя файла helper_2.py
, прямо из кода этого файла, без передачи этой информации в качестве аргументов из helper_1.py
.
Существует простой способ получить эту информацию, используя встроенный модуль Python, под названием os
.
import os current_file = os.path.realpath(__file__) current_directory = os.path.dirname(current_file)
В этом коде, __file__
— это специальная переменная, которая содержит путь к скрипту, который был запущен. Функция os.path.realpath(path)
возвращает канонический путь к указанному файлу, устраняя все символические ссылки (если они присутствуют). Таким образом, os.path.realpath(__file__)
вернет абсолютный путь до файла.
Функция os.path.dirname(path)
возвращает имя директории пути path
. Её можно использовать, чтобы получить путь к директории, в которой находится файл.
Также следует отметить, что если попытаться использовать функцию os.getcwd()
, она вернет путь к директории, откуда был запущен первоначальный скрипт, а не текущего исполняемого файла.
Надеемся, что эта информация поможет в работе с Python и позволит лучше понимать, как работает этот замечательный язык программирования.
Изучайте Python на онлайн-курсе от Skypro «Python-разработчик». Программа рассчитана на новичков без опыта программирования и технического образования. Курс проходит в формате записанных коротких видеолекций. Будет много проверочных заданий и мастер-классов. В конце каждой недели — живая встреча с экспертами в разработке для ответов на вопросы и разбора домашек.
Добавить комментарий