我们的应用程序由分成两个包的几个模块和一个脚本组成。 我不确定,并且没有设法谷歌我知道模块是否需要编码指令以管理我们的本地法语重音字符串,并且当我们在它时,使用解释器指令shabang,或者如果足以将这两行放在一个脚本中。
答案 0 :(得分:3)
脚本需要shebangs。模块不需要shebangs - 它们有时被用来制作文本编辑器'工作更容易(更容易检测编程语言),或者模块可以作为脚本运行以执行其测试,但不会被调用。
所有Python代码,无论是模块还是脚本,在不使用目标Python版本的默认编码时都应该有编码指令(2.x为ASCII,3.x为Unicode)。
答案 1 :(得分:2)
脚本需要shebangs iff它们是可执行的。也就是说,如果您打算以script
(或script.py
)运行它们,则需要一个shebang,但如果您打算将它们作为python script.py
运行,则需要它。
这真的是shebangs的唯一用例。编辑者也可以使用它们来确定模式,但他们也应该查看.py
扩展名。
Python 2的默认源编码是ASCII。要将任何非ASCII字符串文字放在Python 2源文件中,您应该有一行这样的文件作为文件的第一行或第二行:
# -*- coding: utf-8 -*-
您当然可以替换不同的编码,但utf-8很常见。我已经向我指出-*-
可以省略,并且出于某些shell兼容性原因,但文档包含它们。
Python 3的默认源代码是utf-8,所以继续使用所有字符。