情况是这样的:我现在工作的公司给了我使用java或python开发应用程序的自由。该公司主要有java方面的经验。
我决定使用python,所以他们非常乐意要求我对所有与他们的数据库维护相关的python项目/脚本进行维护。
处理所有这些东西并没有那么糟糕,看看我和java程序员相比有多少空闲时间也是一种乐趣。只有一个,但是,项目的布局是一团糟。
整个公司都有很多简单的脚本放在虚拟机中。其中一些具有复杂的功能,分布在几个模块上(最多4个)。
在考虑这个问题时,我意识到我不知道如何解决这个问题,下面有三个问题。
的模块的一种标准方法。
发布于 2010-08-12 20:07:58
我应该把独立的脚本放在哪里?
你“从功能上”组织它们--基于它们所做的事情以及人们使用它们的原因。
这种语言(Python和Java)是不相关的。
您必须将脚本视为关注某些需要的小型应用程序,并为该应用程序创建适当的目录结构。
我们使用/opt/thisapp和/opt/thatapp。如果需要共享挂载点,则可能使用不同的路径。
如何以用户不需要深入挖掘文件夹来运行程序的方式构造项目布局
你“从功能上”组织它们--基于它们所做的事情以及人们使用它们的原因。在/opt/thisapp目录的顶层,您可能有一个__init__.py (因为它是一个包)和一个启动实际工作的main.py脚本。
在Python2.7和Python3中,您有runpy模块。这样,您就可以将顶级主脚本命名为__main__.py。
http://docs.python.org/library/runpy.html#module-runpy
:什么是创建模块的标准方法,允许易于重用(mycompany.myapp.mymodule)?
阅读关于packages的文章。http://docs.python.org/tutorial/modules.html#packages
发布于 2010-08-12 19:59:30
是一种创建模块层次结构的方法:如果在目录中生成一个名为__init__.py的文件,Python将将该目录视为一个包,并允许您使用虚图导入导入其内容:
spam \
__init__.py
ham.py
eggs.py
import spam.ham包中的模块可以相互引用--参见文档。
如果这些都是DB维护脚本,我会制作一个名为DB之类的包,并将它们全部放入其中。您可以为更复杂的包提供子包。因此,如果您有一个用于清理事务日志的脚本,我不知道,您可以将它放在ourDB.clean中并执行
import ourDB.clean
ourDB.clean.transaction_logs( )https://stackoverflow.com/questions/3471413
复制相似问题