Re: [問題] import的問題,不應該是問題的問題
※ 引述《Lucemia (生の直感、死の予感)》之銘言:
: 借這個標題一問
: 如果我要將一個資料夾下所有定義的類別(分散在各檔案中)
: 全部再程式中import進來並列出
: 有什麼好方法嗎?
: 現在試過的方式有這些:
: 1. import 資料夾名後 使用dir :
: 但只會產生 __buildins__, __doc__ .. 不會將其下的檔案列出
: 2. 使用listdir將資料夾下的檔案列出後一一execfile:
: import 路徑不同會產生 這些檔案找不到需要import 的其他檔案
: 3. 使用listdir列出後 在使用 __import__的方式一一載入:
: 目前唯一可行的方式..
def LoadWidgets(self):
"""Import widgets form file"""
import sys, os
try:
import os
import dircache
import blockarticle
WidgetPath = os.path.split(blockarticle.__file__)[0]
DirList = dircache.listdir(WidgetPath + '/widgets')
for FileName in DirList:
#exec 'import %s' % Module
Name, Suffix = FileName.split('.')
if Name != '__init__' and Suffix == 'py':
#print 'blockarticle.widgets.' + Name
BlockArticle = __import__('blockarticle.widgets.' + Name)
Widgets = getattr(BlockArticle, 'widgets')
self.ModuleList[Name] = getattr(Widgets, Name)
我在我BlockArticle就是用第三種方法寫的
這樣做是要讓Widget可以放在某個資料夾
程式會自己去讀,要擴充就很方便,不用設定
直接丟進去就ok了
參考看看
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.170.0.222
推
04/23 10:12, , 1F
04/23 10:12, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):
Python 近期熱門文章
PTT數位生活區 即時熱門文章