Мне не очень нравится отвечать так поздно, но я не совсем удовлетворен существующими ответами.
Я только начинаю Python, и я хотел бы использовать внешний класс RSS. Куда мне поместить этот класс и как его импортировать?
Вы помещаете его в файл python и даете файлу python расширение .py. Затем вы можете импортировать модуль, представляющий этот файл, и получить доступ к классу. Предположим, что вы хотите импортировать его, вы должны поместить файл python где-нибудь в вашем пути поиска импорта - вы можете увидеть это во время выполнения с sys.path
, и, возможно, самое важное, что нужно знать, это то, что site-package (установить -specific) и текущий каталог ('') обычно находятся в пути поиска импорта. Когда у вас есть один однородный проект, вы обычно помещаете его в тот же каталог, что и другие модули, и позволяете им импортировать друг друга из одного каталога.
Я бы хотел в конечном итоге поделиться программами на Python.
После того, как вы настроили его как отдельный файл, вы можете настроить его для распространения с помощью distutils . Таким образом, вам не нужно беспокоиться о том, где именно он должен быть установлен - distutils будет беспокоиться за вас. Существует также много других дополнительных средств распространения, многие из которых зависят от ОС - distutils работает для модулей, но если вы хотите распространять правильную программу, которую должны запускать пользователи, существуют другие варианты, такие как py2exe для Windows.
Что касается различий между модулями и пакетами, то здесь все в порядке. Если у вас есть целая куча классов, которые вы хотите разделить, чтобы у вас не было большого беспорядка в файле python, вы можете разделить его на несколько файлов python в каталоге и присвоить каталогу __init__.py
, Важно отметить, что от Python нет никакой разницы между пакетом и любым другим модулем. Пакет - это модуль, это просто другой способ его представления в файловой системе. Точно так же модуль - это , а не , просто файл .py - если бы это было так, sys
не был бы модулем, поскольку у него нет файла .py. Он встроен в переводчик. Существует бесконечно много способов представления модулей в файловой системе, поскольку вы можете добавить ловушки импорта, которые могут создавать способы представления модулей, отличные от каталогов и файлов .py. Можно гипотетически создать ловушку для импорта, которая использует spidermonkey для загрузки файлов Javascript в качестве модулей Python.