5 способов получить текущее имя сценария в Python

В Python существует несколько методов получения имени текущего выполняемого скрипта. Эта информация может быть полезна в различных сценариях, таких как ведение журнала, отладка или динамическое создание путей к файлам. В этой статье мы рассмотрим пять различных подходов к получению текущего имени сценария, а также примеры кода для каждого метода.

  1. Использование модуля sys:
    Модуль sys обеспечивает доступ к различным системным параметрам и функциям, включая возможность получения текущего имени сценария. Вот пример:
import sys
script_name = sys.argv[0]
print("Current script name:", script_name)
  1. Использование модуля проверки:
    Модуль проверки позволяет выполнять самоанализ живых объектов в Python. Это позволяет нам получить доступ к информации о живых объектах, включая текущее имя скрипта. Вот пример:
import inspect
script_name = inspect.getframeinfo(inspect.currentframe()).filename
print("Current script name:", script_name)
  1. Доступ к атрибуту file.
    В Python каждый модуль имеет встроенный атрибут __file__, в котором хранится путь к файлу сценария. Мы можем использовать этот атрибут для извлечения имени сценария. Вот пример:
import os
script_name = os.path.basename(__file__)
print("Current script name:", script_name)
  1. Разбор значения sys.argv[0]:
    Другой подход — анализ значения sys.argv[0], которое представляет имя выполненного сценария. Этот метод может быть полезен, если вам нужно обрабатывать аргументы командной строки. Вот пример:
import os
import sys
script_name = os.path.basename(sys.argv[0])
print("Current script name:", script_name)
  1. Использование модуля pathlib (Python 3.4+):
    Начиная с Python 3.4, модуль pathlib обеспечивает объектно-ориентированный подход для обработки путей файловой системы. Мы можем использовать этот модуль для извлечения текущего имени сценария. Вот пример:
from pathlib import Path
script_name = Path(__file__).name
print("Current script name:", script_name)

В этой статье мы рассмотрели пять различных методов получения имени текущего скрипта в Python. Используя модуль sys, модуль проверки, атрибут file, sys.argv[0] или модуль pathlib, вы можете легко получить имя сценария в соответствии с вашими конкретными требованиями. Понимание этих методов поможет вам расширить свои возможности создания сценариев, улучшить отладку и оптимизировать операции обработки файлов в Python.

Не забудьте выбрать метод, который соответствует вашим потребностям и стилю кодирования. Удачных сценариев!