是否有标准repr
的调用方法导致 Python 中的给定堆栈帧?如果做不到这一点,有没有一种手动的好方法?
举个例子:
def some_call(*args, **kwargs):
print('{}({})'.format(
'some_call',
', '.join(itertools.chain(
map(repr, args),
('{}={!r}'.format(k, kwargs[k]) for k in kwargs)))))
>>> some_call(1, 2, a=3)
some_call(1, 2, a=3)
我正在尝试记录某些调用,并且正在编写一个装饰器来记录对包装函数的调用以及完整的详细信息。我要解决这个问题了吗?