Найти - Пользователи
Полная версия: как импортировать модуль через путь и название файла ?
Начало » Python для новичков » как импортировать модуль через путь и название файла ?
1 2
umup
допустим есть несколько папок с модулями Питона, состав и набор файлов заранее не известен.
как во время выполнения программы импортировать все эти модули в основной файл ?
pythonwin
посмотри sys.path
xonix
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])
umup
>посмотри sys.path

можно исделать так - установить пути к нужным папкам через sys.path и использовать __import__, я думал может есть метод импортирования с прямым указанием пути к файлу…
umup
еще нашел - http://www.diveintopython.org/functional_programming/dynamic_import.html
slivlen
umup
Можно использовать imp.
Допустим надо найти и загрузить модуль MyMod из заданных директорий с модулями не входящих в sys.path:
import imp
mod_info = imp.find_module('MyMod', ['modules_path1', 'modules_path2'])
MyMod = imp.load_module('MyMod', *mod_info)
umup
спасибо за советы, сделал так :
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>
slivlen
umup
еще вопрос - как в minidom парсере получить текст, заключенный в теге, например xml:lang=“eng” можно получить через tag.getAttribute('xml:lang'), а как получить сам текст “Electronics”, находящийся в теге “name” ?
umup, один вопрос - одна тема. Начни, пожалуйста, новую тему и задай в ней этот вопрос.
umup
как в minidom парсере получить текст, заключенный в теге
извиняюсь за беспокойство, уже нашел : tags.firstChild.toxml()
-=<fantom>=-
slivlen
umup, один вопрос - одна тема. Начни, пожалуйста, новую тему и задай в ней этот вопрос.
Да ладно тебе быковать, slivlen.
Пацан нормальный вопрос задал. Я в своё время по горло с xml намучался. И в конце концов принял решение следующего вида:
Step.Small.1 = 23
Step.Small.2 = 12
Step.Small.A = 0.5
Такой список в моей задаче оказалось разбирать гораздо легче. Не надо контролировать отступы, открытие и закрытие тэгов. Или ты со мной не согласишься?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB