Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 17, 2007 17:35:33

umup
От:
Зарегистрирован: 2007-07-14
Сообщения: 53
Репутация: +  0  -
Профиль   Отправить e-mail  

как импортировать модуль через путь и название файла ?

допустим есть несколько папок с модулями Питона, состав и набор файлов заранее не известен.
как во время выполнения программы импортировать все эти модули в основной файл ?



Офлайн

#2 Авг. 17, 2007 17:46:23

pythonwin
От:
Зарегистрирован: 2006-07-18
Сообщения: 1294
Репутация: +  0  -
Профиль   Отправить e-mail  

как импортировать модуль через путь и название файла ?

посмотри sys.path



Офлайн

#3 Авг. 17, 2007 18:00:39

xonix
От:
Зарегистрирован: 2006-12-31
Сообщения: 38
Репутация: +  0  -
Профиль   Отправить e-mail  

как импортировать модуль через путь и название файла ?

umup
допустим есть несколько папок с модулями Питона, состав и набор файлов заранее не известен.
как во время выполнения программы импортировать все эти модули в основной файл ?
Попробуй как-то так (из головы):
import sys, glob, os
paths = ["path1", "path2", "pa/th/3"]
for path in paths:
  sys.path.append(path)
  os.chdir(path)
  for f_name in glob.glob('*.py'):
    import f_name[:-3]

UPD. конечно же надо
__import__(f_name[:-3])



Отредактировано (Авг. 18, 2007 01:45:02)

Офлайн

#4 Авг. 17, 2007 18:00:57

umup
От:
Зарегистрирован: 2007-07-14
Сообщения: 53
Репутация: +  0  -
Профиль   Отправить e-mail  

как импортировать модуль через путь и название файла ?

>посмотри sys.path

можно исделать так - установить пути к нужным папкам через sys.path и использовать __import__, я думал может есть метод импортирования с прямым указанием пути к файлу…



Офлайн

#5 Авг. 18, 2007 09:22:36

umup
От:
Зарегистрирован: 2007-07-14
Сообщения: 53
Репутация: +  0  -
Профиль   Отправить e-mail  

как импортировать модуль через путь и название файла ?

Офлайн

#6 Авг. 18, 2007 10:39:11

slivlen
От:
Зарегистрирован: 2006-07-06
Сообщения: 764
Репутация: +  0  -
Профиль   Отправить e-mail  

как импортировать модуль через путь и название файла ?

umup
Можно использовать imp.
Допустим надо найти и загрузить модуль MyMod из заданных директорий с модулями не входящих в sys.path:

import imp
mod_info = imp.find_module('MyMod', ['modules_path1', 'modules_path2'])
MyMod = imp.load_module('MyMod', *mod_info)



Офлайн

#7 Авг. 18, 2007 23:00:17

umup
От:
Зарегистрирован: 2007-07-14
Сообщения: 53
Репутация: +  0  -
Профиль   Отправить e-mail  

как импортировать модуль через путь и название файла ?

спасибо за советы, сделал так :
comm_modules_path = os.path.abspath(u'comm')
comm_modules_names =
comm_modules = [imp.load_module(mp, *imp.find_module(mp, )) for mp in comm_modules_names]

очень обширная библиотека, тяжело сразу все находить.

еще вопрос - как в minidom парсере получить текст, заключенный в теге, например xml:lang=“eng” можно получить через tag.getAttribute('xml:lang'), а как получить сам текст “Electronics”, находящийся в теге “name” ?


<?xml version=“1.0” encoding=“utf-8”?>
<cms name=“cms_ul”>
<site>
<name xml:lang=“eng”>Electronics</name>
</site>
</cms>



Отредактировано (Авг. 18, 2007 23:06:25)

Офлайн

#8 Авг. 19, 2007 00:20:15

slivlen
От:
Зарегистрирован: 2006-07-06
Сообщения: 764
Репутация: +  0  -
Профиль   Отправить e-mail  

как импортировать модуль через путь и название файла ?

umup
еще вопрос - как в minidom парсере получить текст, заключенный в теге, например xml:lang=“eng” можно получить через tag.getAttribute('xml:lang'), а как получить сам текст “Electronics”, находящийся в теге “name” ?
umup, один вопрос - одна тема. Начни, пожалуйста, новую тему и задай в ней этот вопрос.



Офлайн

#9 Авг. 19, 2007 18:48:51

umup
От:
Зарегистрирован: 2007-07-14
Сообщения: 53
Репутация: +  0  -
Профиль   Отправить e-mail  

как импортировать модуль через путь и название файла ?

как в minidom парсере получить текст, заключенный в теге
извиняюсь за беспокойство, уже нашел : tags.firstChild.toxml()



Офлайн

#10 Авг. 26, 2007 21:00:49

-=<fantom>=-
От:
Зарегистрирован: 2006-08-12
Сообщения: 121
Репутация: +  0  -
Профиль   Отправить e-mail  

как импортировать модуль через путь и название файла ?

slivlen
umup, один вопрос - одна тема. Начни, пожалуйста, новую тему и задай в ней этот вопрос.
Да ладно тебе быковать, slivlen.
Пацан нормальный вопрос задал. Я в своё время по горло с xml намучался. И в конце концов принял решение следующего вида:
Step.Small.1 = 23
Step.Small.2 = 12
Step.Small.A = 0.5
Такой список в моей задаче оказалось разбирать гораздо легче. Не надо контролировать отступы, открытие и закрытие тэгов. Или ты со мной не согласишься?



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version