Как установить файл рецепта Python (.py)?
Я новичок в Python. Я сейчас на Py3k (Win).
У меня проблемы с установкой .py
файл. В основном, я хочу использовать рецепты, представленные внизу этой страницы. Так что я хочу поместить их в .py
а также import
их в любом из моих исходников.
Поэтому я скопировал все рецепты в recipes.py
файл и скопировал их в C:\Python3k\Lib\site-packages
,
Теперь import
работает нормально, но когда я пытаюсь вызвать любую функцию (например. take
) из него я получил global name 'islice' is not defined
... Так что я решил, я должен добавить itertools
импорт в recipes.py
Я все еще получаю ту же ошибку? Нужно ли мне изменить все экземпляры на itertools.<funcname>
? Как я могу сделать импорт глобальным? Это новое изменение Py3k? Я что-то пропустил?
Заранее спасибо,:)
1 ответ
Есть два тесно связанных вопроса.
Во-первых, в 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(...)