Python从文件导入函数
我在名为Python从文件导入函数,python,import,Python,Import,我在名为8.py的文件中有一个函数ispalindrome如何导入它? 如果我可以用这个名称创建一个.py文件,为什么8是无效的名称 from 8 import ispalindrome 最佳答案:重命名您的文件。;) 有一个名为8.py的文件会破坏文件和Python文件的一致性(导入文件时遇到的麻烦清楚地说明了这些规则的原因) 通常,应使文件名与变量相同: 它们以字母或下划线开头 之后,它们完全由字母、数字和下划线组成 它们是小写的 它们很短(没有人喜欢输入一个巨大的名字) 但是,如果必须
8.py的文件中有一个函数ispalindrome
如何导入它?
如果我可以用这个名称创建一个.py文件,为什么8是无效的名称
from 8 import ispalindrome
最佳答案:重命名您的文件。;) 有一个名为
8.py
的文件会破坏文件和Python文件的一致性(导入文件时遇到的麻烦清楚地说明了这些规则的原因)
通常,应使文件名与变量相同:
但是,如果必须将文件命名为
8.py
,则可以使用导入该文件
为了演示,我制作了一个简单的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
>>>
>>从8导入函数
文件“”,第1行
从8导入func
^
SyntaxError:无效语法
>>>x=导入(“8”)
>>>x.func()
符合事实的
>>>
如您所见,使用
\uuuuuu导入
是有效的。然而,这被认为是草率的,通常应该避免。我强烈建议您注意我的第一个答案,如果可以,请重命名该文件。Python模块名称必须是有效的标识符。“8”不是有效的标识符。请尝试“8”或“file8”或任何不以数字开头的选项。这通常适用。可能会失败吗?请将文件从8重命名为其他名称<代码>8不是Python模块的有效名称。它们需要以下划线或字母开头。解决了这个问题,你就会很好。我相信第一部分的回答是+1。是的,甚至向新手用户提及第二部分都会投反对票。好吧,在你添加免责声明后删除了反对票。不过,这里的主题应该是命名规则(为什么8
是一个无效的名称?),而不是导入技巧。@LukasGraf-There。我添加了一个巨大的免责声明,并链接到政治公众人物文档。我尽我所能给了那个菜鸟所有的泡泡糖@iCodez好多了。然而,不以数字开头的标识符不仅仅是PEP8鼓励的一种约定,它是PEP8中定义的一种要求。因此,通过退出\uuuu import\uuuu
仍然导入这样一个模块是不应该做的事情,即使是知道自己在做什么的人也不应该这么做<代码>\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu有其合法的用途(例如按名称动态导入模块),但在我看来,这并不是其中之一。+1表示不让\uuuuuuuuuuuuu