首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重写静态方法

重写静态方法
EN

Stack Overflow用户
提问于 2014-12-10 19:31:06
回答 1查看 250关注 0票数 0

我必须在这个egg dicttoxml上重写一个函数,然而问题是,由于不是一个类,我不知道如何重写一个特定的函数。

我试着创建一个新的“包”,导入*,然后写出我想要覆盖的函数,但它忽略了所有这些,我不确定如何或是否可以完成。

编辑:这是我修改的代码的gist,功能是一样的,只是修改了项目带段

Edit2:我还添加了从另一个文件导入的方法,我将新的“包”命名为dicttoxml_fast

EN

回答 1

Stack Overflow用户

发布于 2014-12-10 20:29:25

这一点:

代码语言:javascript
复制
`from libs.dicttoxml_fast.dicttoxml_fast import dicttoxml` 

无法使用当前的dicttoxml_fast模块。您可以通过以下方式导入:

代码语言:javascript
复制
`from libs.dicttoxml_fast import dicttoxml_fast as dicttoxml`

但这不会使原始dicttoxml中的其他函数使用您自己的convert_list版本。如果这就是你的计划,你要么派生原始的(FWIW作者可能会对你自己的实现感兴趣,如果它严格等价且更快的话),或者monkeypatch:

代码语言:javascript
复制
# dicttoxml_fast.py

import dicttoxml
from dicttoxml import *

def convert_list(items, ids, parent, attr_type):
    # your code here

# apply the monkeypatch
dicttoxml.convert_list = convert_list

然后在客户机代码中使用from libs.dicttoxml_fast.dicttoxml_fast import dicttoxml

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27399930

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档