Python从文件导入功能

时间:2013-11-30 16:39:33

标签: python import

我在名为8.py的文件中有一个函数ispalindrome如何导入它?       如果我可以使用此名称生成.py文件,为什么8是无效的名称

from 8 import ispalindrome

2 个答案:

答案 0 :(得分:5)

Python模块名称必须是有效的标识符。 “8”不是有效的标识符。尝试“8”或“file8”或任何不以数字开头的内容。

答案 1 :(得分:3)

最佳答案:重命名您的文件。 ;)

拥有一个名为8.py的文件会破坏文件的naming convention以及Python的language grammar(导入它时出现问题会清楚说明这些规则的原因)。

通常,您应该使文件名与变量相同:

  1. 他们以字母或下划线开头。
  2. 之后,它们完全由字母,数字和下划线组成。
  3. 它们是小写的。
  4. 它们很短(没人喜欢要输入的大名字。)

  5. 但是,如果您必须为文件8.py命名,则可以使用__import__将其导入。

    为了演示,我制作了一个简单的8.py文件,它具有以下功能:

    def func():
        return True
    

    这是我跑的测试:

    >>> from 8 import func
      File "<stdin>", line 1
        from 8 import func
             ^
    SyntaxError: invalid syntax
    >>> x = __import__("8")
    >>> x.func()
    True
    >>>
    

    如您所见,使用__import__ 正常工作。但是,它被认为是草率的,一般应该避免。我强烈建议您留意我的第一个答案并重命名该文件。