我是 Python 新手。我目前使用的是 Py3k (Win)。
我在安装 .py
时遇到问题文件。基本上,我想使用 this 底部提供的食谱。页。所以我想把它们放在 .py
里面和 import
它们在我的任何源代码中。
所以我把所有的食谱都复制到一个recipes.py
文件并将它们复制到 C:\Python3k\Lib\site-packages
.
现在,import
工作正常,但是当我尝试从中调用任何函数(例如 take
)时,我得到了一个 global name 'islice' is not defined
...所以我想,我应该添加一个 itertools
导入到 recipes.py
我仍然得到同样的错误?我是否需要将所有实例更改为 itertools.<funcname>
?我怎样才能使进口的全局?这是一个新的 Py3k 变化吗?有什么我想念的吗?
提前致谢:)
最佳答案
有两个密切相关的问题。
首先,在 recipes.py 中,您需要访问所有 itertools。
至少,这意味着你需要
import itertools
在顶部。但在这种情况下,您需要将所有 itertools 函数限定为 itertools.<funcname>
。 , 正如你所说。 (您也可以使用 import itertools as it
,然后使用 it.<funcname>
。)
其次,你可以做
from itertools import islice, count, chain
但是您需要将所有需要的功能都放在列表中。
最后,最不推荐但可能最简单的做法是
from itertools import *
这很危险,因为它会用来自 itertools
的一切 污染您的命名空间,这被认为是糟糕且不受控制的,但在这种情况下可能并不可怕。
其次,您使用 recipes.py
的所有代码都存在类似问题;您需要限定或明确导入所有内容。所以,要么
import recipes
recipes.take(...)
或
from recipes import take
take(...)
关于python - 如何安装 Python 配方文件 (.py)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3793123/