Я пишу API-интерфейс python, и у меня есть одна проблема. У меня есть 3 различные функции:один декоратор для 3-х различных функций
func1() -> return only text
func2(name) -> return text only but takes parameter
func3(name) -> this function create a file "name".txt
Теперь у меня есть проблемы с декоратором, я хочу, чтобы создать журнал декоратора, который вызывается функция вызывается каждый раз. Проблема в том, что я не знаю, как это сделать, я знаю, как создать его без параметров или одного параметра, но я не имею понятия, что нужно создавать универсальный декоратор, который будет работать для всех трех функций.
Теперь у меня есть что-то вроде этого:
def log(func):
def wrapper(name):
func(name)
log = ('write something here')
f = open('log.txt', 'a+')
f.write(log + "\n")
f.close(name)
return wrapper
Вы должны использовать произвольные аргументы - смотри, например, http://stackoverflow.com/q/36901/3001761. Затем просто «возвращай» все, что возвращает «func», функции, которые явно не возвращают ничего, возвращают «Нет». – jonrsharpe