覆盖已安装包方法的最佳方法

时间:2011-08-16 07:24:56

标签: python

我正在使用django-compress for compression。根据需要,我想改变..../dist-packages/compress/utils.py中的函数。我怎样才能override这个功能。

1 个答案:

答案 0 :(得分:4)

import compress.utils
utils.compress.function_to_override = overriding_function

Monkey patch它。在将utils导入其他任何地方之前,您需要执行此操作。

或者,您可以创建一个新的Python模块,如下所示:

# fakeutils.py
from compress.utils import *

# make the following line match exactly the overridden function
def function_to_override(var1, etc1, etc2):
    # your version of the function

然后导入该模块:

import fakeutils as utils