/
volianiukigor
/
PyAdv_3
Обзор
Документация
Войти
/
volianiukigor
/
PyAdv_3
Код
Запросы
1
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
homework
2.py
40 строк
1 KB
volianiukigor
create 2.py
05 дек 2024, 16:03
05 дек 2024, 16:03
2cc5484
Код
Авторство
О чём код?
import sys from datetime import datetime from functools import wraps def timed_output(func): """Декоратор timed вывода""" @wraps(func) def wrapper(*args, **kwargs): original_write = sys.stdout.write def my_write(text): if not hasattr(my_write, 'new_line'): my_write.new_line = True result = 0 for char in text: if my_write.new_line: timestamp = datetime.now().strftime("[%Y-%m-%d %H:%M:%S]: ") original_write(timestamp) result += len(timestamp) my_write.new_line = False original_write(char) result += 1 if char == '\n': my_write.new_line = True return result sys.stdout.write = my_write try: return func(*args, **kwargs) finally: sys.stdout.write = original_write return wrapper @timed_output def print_greeting(name): """Выводит привет (name)""" print(f'Hello, {name}!') if __name__ == '__main__': print_greeting('Nikita')