>>> import 23
SyntaxError: invalid syntax
>>>
我正在学习 Python 并研究模块。我创建了一个模块并想导入它:
import 23
但是,IDLE 给了我一个错误:
SyntaxError : 无效的语法
为什么我会收到此错误,我该如何解决?
>>> import 23
SyntaxError: invalid syntax
>>>
我正在学习 Python 并研究模块。我创建了一个模块并想导入它:
import 23
但是,IDLE 给了我一个错误:
SyntaxError : 无效的语法
为什么我会收到此错误,我该如何解决?
这是 Python 中的无效模块名称 - 模块名称必须以字母或下划线开头。
将您的模块文件重命名为其他类似的名称module23.py
并尝试导入它。
更新:正如用户 ThiefMaster 在相关回答中指出的那样,Python 模块名称的实际规则来自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
必须以一个下划线或字母开头,后跟零个或多个字母、数字或下划线。