1

我想扩展名为 OpenERP 的 python 应用程序的一些特定于语言环境的功能。我所需要的只是实现一个第三方 module.function,每次 OpenERP 调用 locale.setlocale() 函数时都会调用它,而不改变 OpenERP 和 locale 模块源代码。

我能想象的唯一方法是在主应用程序包目录中提供一个名为 locale.py 的模块,但这似乎是一种非pythonic的解决方法。

4

1 回答 1

2

查找猴子补丁。这不是最优雅的技术,但有时它是唯一的选择。

在你的情况下,你可以用你自己的函数来代替locale.setlocale()你想要的任何东西。它看起来像这样:

import locale

original_setlocale = locale.setlocale

def my_setlocale(category, locale=None):
    # Do anything you want
    # optionally call original function
    original_setlocale(category, locale)
于 2010-03-31T10:18:10.750 回答