“像exercise_1.py这样的文件名比execise-1.py更好。我们可以从命令行同样运行这两个程序,但带连字符的名称限制了我们编写更大更复杂程序的能力。“
为什么?
答案 0 :(得分:62)
这里的问题是导入名称中带有hyphen-minus(默认键盘键 - ; U+002D
)的文件不起作用,因为它表示减号蟒蛇。因此,如果您想要导入自己的模块,则其名称中不应包含连字符:
>>> import test-1
File "<stdin>", line 1
import test-1
^
SyntaxError: invalid syntax
>>> import test_1
>>>
较大的程序往往在逻辑上分成许多不同的模块,因此引用
带有连字符的名称限制了我们编写更大更复杂程序的能力。
答案 1 :(得分:12)
从该文件(第368页,第30.2节“模块定义”):
请注意,模块名称必须是有效的Python名称...模块的名称仅限于字母,数字和“_”。