Как установить файл рецепта 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(...)
Другие вопросы по тегам