python 脚本文件应该是可执行的吗?

Vas*_*kov 5 python naming-conventions

python 脚本文件应该是可执行的吗?

假设我正在开发一个小工具。我有以下文件:

my_tool.py
my_lib.py
my_other_lib.py
....
Run Code Online (Sandbox Code Playgroud)

有时我会运行我的工具python my_tool.py.

是否存在第一个文件应该可执行,而所有“库”不应该可执行的约定?如果我有多个入口点,是否应该将所有入口点都标记为可执行?

小智 4

如果 python 脚本顶部有 hashbang,则只需将其设为可执行文件即可。Python 不要求将要导入的模块或作为参数传递的任何脚本标记为可执行文件。

至于命名约定,您应该只将实际上包含 hashbang 的文件标记为可执行文件。如果您想更好地将模块与可执行文件分开,您应该使用模块教程第 6.4 节中指定的目录。