最小化Python模块

2024-09-27 17:56:36 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我的库目录中有一个python模块a。如何导出与模块B相同的库,但仅自动使用所需的函数和代码部分?例如,我想为一个激光跟踪项目构建一个最小版本的opencvforpython,我确信我实际需要的代码比整个openCV库要少得多。我不想手工操作,那么有没有什么应用程序可以自动化这个过程?你知道吗


Tags: 模块项目函数代码版本目录应用程序过程
1条回答
网友
1楼 · 发布于 2024-09-27 17:56:36

编辑:我看到了评论,并注意到您正在为空间问题而挣扎。在这种情况下,下面的代码不是你要找的。我认为您将不得不编写目标模块的最小化版本。否则,您将不得不实现某种工具,使您能够自动查找要使用的函数的所有依赖项。你知道吗

你必须选择是否值得付出努力。你知道吗

class Importer:
    def __init__(self, module_name, funcion_list):
        self.__module = __import__(module_name)
        self.__specific = funcion_list

        self.initialize()

    def initialize(self):
        for elem in self.__specific:
            setattr(self, elem, getattr(self.__module, elem))

假设您只想从模块os导出函数listdir。因此,在B模块中,您可以:

os_minimized = Importer("os", ("listdir",))

然后在另一个模块中写:

from B import os_minimized
print(os_minimized.listdir("."))

相关问题 更多 >

    热门问题