如何在python中对内置类进行子类化?

时间:2017-01-17 17:12:46

标签: python-3.x class

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

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

1 个答案:

答案 0 :(得分:1)

os不是课程,但如果您愿意,可以修补os.rename。您应该首先将内置函数存储在变量中(以便可以恢复补丁),而不是编写打印args然后调用实际函数的函数,然后将该新函数分配给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