2
>>> import 23
SyntaxError: invalid syntax
>>> 

我正在学习 Python 并研究模块。我创建了一个模块并想导入它:

import 23

但是,IDLE 给了我一个错误:

SyntaxError : 无效的语法

为什么我会收到此错误,我该如何解决?

4

1 回答 1

6

这是 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必须以一个下划线或字母开头,后跟零个或多个字母、数字或下划线。

于 2013-06-03T05:35:43.373 回答