Как получить текущее имя файла из функции внутри другого файла?

1

Это мой debug.py:

class Debug:
    @classmethod
    def file_name(self):
        import os
        return os.path.basename(__file__)

это мой test.py:

print Debug.file_name()

Это напечатает debug.py, пока я хочу получить test.py. Что я должен делать?

Теги:
python-2.7

1 ответ

0

Вы можете использовать inspect.stack:

import inspect
import os

class Debug:
    @classmethod
    def file_name(self):
        caller = inspect.stack()[1]
        return os.path.basename(caller[1])
  • 0
    self для classmethod всегда заменяется на cls , также нет нужды в параметре, может быть staticmethod или простая функция вместо метода
  • 0
    @AzatIbrakov: Расскажите об этом ОП.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню