语法无效:在python中导入模块

时间:2013-06-03 05:30:32

标签: python python-2.7

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

我正在学习Python并从事模块工作。我创建了一个模块并想导入它:

import 23

然而,IDLE给了我一个错误:

  

SyntaxError :语法无效

为什么我会收到此错误以及如何解决?

1 个答案:

答案 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,必须以下划线或字母开头,后跟零个更多的字母,数字或下划线。