Дійсний шлях до скрипта, що виконується
Досі щоб дізнатися ім’я файлу, що зараз виконується чи шлях до нього, я використовував такі конструкції
1 | import os |
Та виявляється, що цей код буде виконуватися як очікується, не у всіх випадках. Наприклад, якщо ми маємо два модуля one.py
(з вмістом, наведеним вище) і two.py
, то під час запуску останнього з кодом
1 | execfile('one.py') |
отримаємо насправді назву і шлях для файлу two.py
.
Такі кейси трапляються досить рідко, але для вирішення цієї проблеми можна скористатися модулем inspect
1 | import inspect |
Цей фрагмент коду завжди буде повертати ім’я файлу модуля, з якого виконується код.