独立脚本还是作为模块?

2024-05-16 07:18:06 发布

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

我总是在选择制作一个模块/包还是保持脚本独立的时候左右为难。在

我经常用Perl或Python编写一些小脚本/程序来完成一些工作。有时我在几个程序中使用相同的子例程,但它们只是小的子例程,我的困境就来了。在

如果我保持脚本的独立性,任何人都可以运行它而不安装任何包。如果它是一个单独的文件,它可以从任何地方使用。但是,如果我制作了一个模块,我的用户需要在使用我的脚本之前安装它。我将需要考虑一个例外情况,即依赖模块不可用,稍后,用户在安装所需模块时可能会遇到问题。在

所以,为了避免依赖性问题。我更喜欢有一点冗余,不使用任何额外的包(只有当我能做到的时候)。显然,我不会在我所有的脚本中重新实现XML::Twig,但对于INI解析器或Perl-to-JSON转换器,我可以这样做。在

另外,我通常将所有脚本放在同一个目录中,比如/usr/local/mycompany/bin

对于不超过200行且使用人数少于20人的脚本/程序,采用什么样的最佳策略?在

编辑:

我不是在征求个人意见。我只想从那些有良好编程经验的人那里寻找一个非常务实和理性的答案。在

给你一个更具体的例子。我有一个脚本,它以专有格式解析配置文件。我公司的很多人都使用这种格式。但是只有我的脚本使用解析器。我想我只有三个选择:

  1. 将解析器(大约50行)放入我的5个脚本中。在
  2. 制作一个需要安装在Perl/Python发行版中的好模块。在
  3. 使用位于其他脚本同一目录中的独立库。在

Tags: 模块文件用户程序目录脚本解析器格式
1条回答
网友
1楼 · 发布于 2024-05-16 07:18:06

错误的困境。你可以同时做这两件事。在

您可以创建一个将在脚本中使用的模块,然后在部署脚本时,将其包含在其中。要么将其作为本地模块文件包含,要么实际将模块和脚本汇总到单个文件中。在

这样,您的东西就不需要单独安装任何模块。在

相关问题 更多 >