>>> import 23
SyntaxError: invalid syntax
>>>
我正在学习Python并从事模块工作。我创建了一个模块并想导入它:
import 23
然而,IDLE给了我一个错误:
SyntaxError :语法无效
为什么我会收到此错误以及如何解决?
答案 0 :(得分:6)
这是Python中无效的模块名称 - 模块名称必须以字母或下划线开头。
将您的模块文件重命名为module23.py
之类的其他内容,然后尝试导入该文件。
更新:正如用户ThiefMaster在related answer中所指出的,Python模块名称的实际规则来自syntax grammar for a Python import statement。在这种情况下的利益规则是
import_stmt ::= "import" module ["as" name] ( "," module ["as" name] )*
| "from" relative_module "import" identifier ["as" name]
( "," identifier ["as" name] )*
| "from" relative_module "import" "(" identifier ["as" name]
( "," identifier ["as" name] )* [","] ")"
| "from" module "import" "*"
module ::= (identifier ".")* identifier
identifier ::= (letter|"_") (letter | digit | "_")*
通过解析树向下搜索,我们看到module
名称是identifier
,必须以下划线或字母开头,后跟零个更多的字母,数字或下划线。