【问题标题】:Extending module扩展模块
【发布时间】:2011-06-04 19:45:59
【问题描述】:

在使用 mimetypes 模块时,我真的厌倦了 add_type 一堆“缺失”的 mimetypes,有什么办法可以做到以下几点吗?

# This file is named mimetypes.py
from mimetypes import *
add_type('application/x-rar-compressed', 'rar', False)
add_type('video/mp4', 'mp4', False)
add_type('video/x-ms-wmv', 'wmv', False)
add_type('video/x-flv', 'flv', False)

问题在于它试图导入自己,而不是“真正的”mimetypes 模块。

我知道这是不合常规且不好的做法,但我认为它不会真正破坏任何东西。

【问题讨论】:

    标签: python mime-types


    【解决方案1】:

    不要调用你的模块mimetypes

    就是这样。把它称为别的东西,它的工作原理。也许extra_mimetypes 什么的。然后你的软件里只有import extra_mimetypes,你父亲有一个叫鲍勃的兄弟。

    唯一不符合 Python 的就是 from mimetypes import *。将其更改为from mimetypes import add_type。这是因为您根本不需要扩展 mimetype。 add_type() 调用将您的新类型添加到 mimetypes 注册表中,无需扩展。

    一般来说,您不需要扩展任何模块。如果您想添加模块中不存在的额外功能,您可以在第二个模块中拥有这些额外功能。几乎不需要像您想要的那样扩展模块。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-30
      • 1970-01-01
      • 2012-12-19
      • 1970-01-01
      • 2016-02-24
      • 1970-01-01
      • 2011-11-21
      • 2013-03-20
      相关资源
      最近更新 更多