Python组织小项目/脚本

我是
python的新手,我不确定一些事情.

>课程应该在单独的文件中吗?
>独立脚本是否有主方法?如果是这样,这是如何工作的,因为我有一个不被调用的主要方法
>单元测试目录通常放在哪里,它如何“包含”它正在测试的文件?

最佳答案 这里有很多理由可以通过将这些点分成单个问题/查询来提供更好的服务:)

>我反对不必要地将类拆分成单个文件.有些类可能在很大程度上依赖于其他类,我(个人)喜欢将它们保存在同一个文件中.我认为最好的约定是基于功能创建文件,而不是为每个类创建单独的文件.

我从Pskoo项目如Flask和Jinja2的工作中获得了很多灵感. Jinja2源提供了一个在文件中“捆绑”某些相关类的优秀示例:Github
>独立脚本通常使用if __name__ ==’__ main__’之类的东西来检查是否直接执行(例如python scriptname.py),然后执行一个函数(通常是main())(感谢Mike纠正我的错误).

为了更好地帮助您解决主要未被调用的问题,我建议您显示您尝试使用的代码.
>有许多不同的方法可以做到这一点,但约定似乎是在项目内的测试,测试,testsuite目录中.这个问题的后半部分变得非常棘手,因为Python导入会根据Python项目的结构/类型(它是一个Python包吗?一个独立的脚本集合?)和你的PYTHONPATH而有所不同.

This SO帖子是一个很好的起点,可以考虑在哪里进行测试,尽管一般的答案似乎是“对你/你的团队最好的地方”:).

在一个稍微相关的说明中,我还建议调查Nose测试框架,因为它从Python测试中删除了很多样板.

点赞