我的书指出:


  您所有Python程序的第一行应该是shebang行,它告诉您的计算机您希望Python执行此程序。 OSX的shebang行是#! /usr/bin/env python3.


但是我的程序在没有终端的shebang行的情况下也可以正常运行。那我将来应该使用它吗?在OSX的shebang行的末尾是否还有句号(。)?

最佳答案

行尾不应有句号。

是否添加shebang取决于您如何运行它。如果您总是显式调用解释器,则它是可选的,即

$ python3 script.py


不需要shebang,也不需要文件的可执行权限。您可以添加shebang,代码仍将运行,在这种情况下,它可以用作文档。

但是,如果要这样执行:

$ ./script.py


要么

$ /path/to/script/script.py


那么您将需要添加shebang并设置文件的可执行权限(请参见chmod)。

关于python - 是否应该在将通过Terminal运行的所有程序中使用Shebang行?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46167289/

10-13 00:07