对于未直接执行的包中的模块的成语

时间:2014-02-07 20:01:30

标签: python import scope packages main

对于直接执行时从不有用的模块,是否有成语或建议的样式,但只是作为更大包的组件 - 例如包含定义等的那些?

例如,省略#!/usr/bin/env python是习惯做法;添加评论;向用户报告消息或执行其他代码(例如__name__ '__main__'是否为{{1}} - 或者只是不做任何特别的事情?

1 个答案:

答案 0 :(得分:0)

我编写的大多数python代码都是通常不会直接调用脚本的模块。有时当我在一个小项目上工作并且不想建立一个更复杂的测试系统时,我会调用我的测试模块if __name__ == '__main__':,这样我就能快速测试我的模块调用python modulename.py(这有时对相对导入不起作用,但对小项目来说效果很好)。无论我是否这样做,我都放弃了shebang并且不给文件执行减免,因为我不喜欢使模块可执行,除非它们是作为脚本运行的。