Здравствуйте! Есть вот такой код
для работы с плагинами
import wx
import glob
import sys
class ModulesDialog(wx.Dialog):
def __init__(self,parent,id=-1,plist=): #plist содержит список путей для поиска
wx.Dialog.__init__(self,parent,id,“”)
bx=wx.BoxSizer(wx.VERTICAL)
bxH=wx.BoxSizer(wx.HORIZONTAL)
self.beginBtn=wx.Button(self,-1,“”)
self.infoBtn=wx.Button(self,-1,“”)
self.lb=wx.ListBox(self,-1,size=(300,300))
bxH.Add(self.beginBtn,0,0)
bxH.Add(self.infoBtn,0,0)
bx.Add(bxH,0,0)
bx.Add(self.lb,0,0)
self.SetSizer(bx)
self.Fit()
self.mlist= #СПИСОК ЗАГРУЖЕННЫХ МОДУЛЕЙ
print “PLIST=”,plist
for i in plist:
if i=='':
continue
self.loadFromPath(i)
for i in self.mlist:
self.lb.Append(self.getModuleInfo(i))
def loadFromPath(self,path):
npath=path
if path!='/':
npath+='/'
npath+=“*.py”
flist=glob.glob(npath)
if len(flist)==0:
return
print “NPATH=”,npath
print “FLIST=”,flist
module=None
for i in flist:
name=i # убираем расширение
print “Name=”,name
module=__import__(name)
print module
self.mlist.append(module)
def getModuleInfo(self,md):
return md.Method.getName()
при запуске из основной программы вылетает с исключением
Traceback (most recent call last):
File “./main.py”, line 465, in OnModules
dlg=Modules.ModulesDialog(self,id=-1,plist=self.options.split(':'))
File “/home/ser/develop/pqfp2/Modules.py”, line 34, in __init__
self.loadFromPath(i)
File “/home/ser/develop/pqfp2/Modules.py”, line 61, in loadFromPath
module=__import__(name)
ImportError: No module named /home/ser/develop/pqfp2/modules/Example
Но если в интерактивно режиме записать все работает нормально.
>>> __import__(“/home/ser/develop/pqfp2/modules/Example”)
<module ‘/home/ser/develop/pqfp2/modules/Example’ from ‘/home/ser/develop/pqfp2/modules/Example.pyc’>
Мож кто знает в чем косяк