Login8
@Login8
Программист, критик, наватор

Как узнать строку в которой выполнился код python?

Здравствуйте.

вот пример кода:

print('hehe')

в данном случае стейтмент "print('hehe')" находится в 2 строке, как вывести на экран что это именна вторая строка? В php например для этого есть "магическая константа" __LINE__ Например:

echo 'hehe ' . __LINE__; // выведет "hehe 2"

В python тоже ведь должно как то , но как?
  • Вопрос задан
  • 334 просмотра
Решения вопроса 1
hottabxp
@hottabxp Куратор тега Python
Сначала мы жили бедно, а потом нас обокрали..
1) Можно подключить пакет Logging(Логирование в Python)

2) Можно использовать что-то вроде этого:
def debug(msg):
     import sys
     frame = sys._getframe(1)

     name = frame.f_code.co_name
     line_number = frame.f_lineno
     filename = frame.f_code.co_filename

     return 'File "%s", line %d, in %s: %s' % (filename, line_number, name, msg)

print(debug('hehe'))

На выходе получим:
File "/home/sergey/Рабочий стол/Projects/l.py", line 12, in <module>: hehe
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы