gpt4 book ai didi

Python 预处理导入

转载 作者:太空狗 更新时间:2023-10-30 02:22:34 25 4
gpt4 key购买 nike

我正在管理一个相当大的 python 代码库(> 2000 行),无论如何我都希望它可以作为一个可运行的 python 脚本使用。所以我正在寻找一种方法或工具来将由不同 python 文件组成的开发文件夹合并到一个运行脚本中。

我正在搜索的东西/方法应该将代码拆分到不同的文件中,可能使用包含导入的起始 __init___.py 文件并将其合并到一个大脚本中。

很像预处理器。最好是接近 native 的方式,如果我可以从 dev 文件夹运行就更好了。

我已经检查过 pypp 和 pypreprocessor,但他们似乎没有捕获要点。

__import__() 的奇怪用法,或者一堆 from foo import * 被预处理器替换为代码?显然我只想合并我的目录而不是公共(public)库。

更新我想要的是将代码作为一个包进行维护,然后能够将其“编译”成一个脚本,易于复制粘贴、分发和重用。

最佳答案

听起来您在问如何将您的代码库合并到一个 2000 多个源文件中——您真的、真的确定要这样做吗?这将使您的代码更难维护。 Python 文件对应于模块,因此除非您的主脚本对其所有部分执行 from modname import *,否则您将通过将模块结构转换为一个文件来丢失模块结构。

我建议的是保持源代码结构不变,并解决如何分发程序的问题:

  1. 你可以使用 PyInstaller 、py2exe 或类似的东西来生成一个甚至不需要 python 安装的可执行文件。 (如果您可以指望 python 存在,请参阅下面@Sebastian 的评论。)

  2. 如果您想分发您的代码库以供其他 python 程序使用,您绝对应该从将其构建为一个包开始,这样它就可以通过单个 import 加载。

  3. 要轻松分发大量 python 源文件,您可以将所有内容打包到一个 zip 存档或一个“egg”(实际上是一个带有特殊管理信息的 zip 存档)中。 Python 可以直接从 zip 或 egg 存档导入模块。

关于Python 预处理导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9851156/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com