Домой

Последняя активность

  

Модули в Python

PyDeKolt avatar PyDeKolt (0) [#] (27.05.2013 / 16:25)
Крупные программы на языке Python обычно организованы в виде набора модулей и пакетов.

Нужно отметить, что при импортировании всего содержимого модуля(from os import *) импортируются все объекты модуля, кроме тех что начинаются с одного знака подчеркивания. Такж импорт можно ограничить прописав имена объектов которые вы хотите сделать доступными в список __all__ вашего модуля.
  1. # импортировать весь модуль,обращаться к содержимому модуля можно через os.sys
  2. import os
  3. # импортировать все содержимое модуля, теперь доступно просто sys
  4. from os import *
  5. # импортировать содержимое модуля выборочно
  6. from os import sys
  7. # импортировать содержимое модуля выборочно, присвоив другое имя.
  8. # теперь sys доступно через other
  9. from os import sys as other
  10. # импортировать несколько
  11. from os import sys, path
  12. # или
  13. from os import (sys, path)

Узнать как работает файл, как модуль или как программа.
  1. # проверить, был ли модуль запущен как программа
  2. if __name__ == '__main__':
  3. # да, модуль запущен как программа
  4. pass
  5. else:
  6. # нет, файл был импортирован как модуль
  7. pass

Путь поиска модулей Python

Для загрузки модуля интерпритатор Python просматривает список каталогов содержащихся в переменной sys.path Первый элемент в списке каталогов обычно является пустой строкой, что означает текущий каталог. Путь поиска помимо каталогов может содержать и zip-архивы, в которые вы можете упаковать свои модули.
  1. import sys
  2. sys.path.append('mymodules.zip')
  3. import foo, bar
  4. # либо указать конкретное расположение
  5. sys.path.append('/tmp/mymodules.zip/lib/python')

Загрузка модулей

Инструкция import может загрузить следующие категории модулей:

программный код на языке Python (файлы с расширением *.py);
расширения на языке C или C++, которые были скомпилированы в виде разделяемых библиотек или DLL (например [имя модуля]module.dll);
пакеты, содержащие коллекции модулей;
встроенные модули, написанные на языке C и скомпилированные с интерпритатором Python (например [имя модуля]module.so).

+ Модуль random
+ Модуль struct
+ Модуль pickle
+ Пакеты в Python
* Python за один день
  Всего: 1

Зарегистрируйтесь и сможете комментировать все темы. Кнопочка вверху
Фильтр по автору
Скачать тему

В Форум

Новые вверху
waplog Рейтинг@Mail.ru
Statok.nettop-sid.ru
Яндекс.Метрика