如何子类 python 中的内置类



假设每次我调用内置方法os.rename(...)。我想打印它的参数。我该怎么做?这不起作用:

import os
class A(os):
def rename(**args):
    print(args)
    os.rename(args)
os

是一个类,但如果你愿意,你可以修补os.rename。您应该首先将内置函数存储在变量中(以便您可以恢复补丁),然后编写一个打印 args 的函数,然后调用 real 函数,然后将该新函数分配给os.rename

import os
real_rename = os.rename
def patched_rename(*args, **kwargs):
    print(args, kwargs)
    return real_rename(*args, **kwargs)
os.rename = patched_rename

最新更新