@frendri

Как печатать время перед текстом сразу во всей программе?

Я хочу чтобы всегда вместе с print('Hello world') перед Hello world шло текущее время. Обычно я делаю так:
print(datetime.now().strftime("%H:%M:%S"), 'Hello world'), используя библиотеку datetime.
Но если у меня скрипт на 100+ строк я же наверно не должен в каждый print вставлять datetime.now().strftime("%H:%M:%S")?
  • Вопрос задан
  • 85 просмотров
Решения вопроса 1
@bbkmzzzz
def my_print(*args, end='\n'):
    print(datetime.now().strftime("%H:%M:%S"), *args, end=end)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
Самое разумное решение - использовать логер вместо print Но можно print и переопределить:

def my_print(original_print):
    def f(*args, **kwargs):
        args = (datetime.now().strftime("%H:%M:%S"),) + args
        original_print(*args, **kwargs)
    return f

print = my_print(print)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы