def AddTreeNodes(self, filename): # filename = '../data/唐诗三百首.txt' # filename = '../data/唐诗三百首/唐诗三百首之.卷八、五言绝句.txt' # filename = '../data/唐诗三百首/唐诗三百首之.卷二、五言乐府.txt' # 获取文件名作为总节点 # (path,rootfile) = os.path.split(filename) # (rootm,roote) = os.path.splitext(rootfile) # self.tree.DeleteChildren(self.root) # text='' # encoding = None encoding, begin = encdet.detect(filename) data = open(filename, "r").read().decode(encoding) items = data.split("\n\n") # log.debug(*items) for item in items: log.debug("item:\n" + item) lines = item.splitlines() index = 0 lens = len(lines) while index < lens and lines[index][0] == "#": log.debug("comment line:" + lines[index]) index += 1 if index >= lens: log.debug("empty area,get next area") continue # empty item title = lines[index] log.debug("title: " + title) dir = self.tree.AppendItem(self.root, title.encode("utf8")) self.tree.SetItemPyData(dir, title) self.tree.SetItemImage(dir, self.fldridx, wx.TreeItemIcon_Normal) self.tree.SetItemImage(dir, self.fldropenidx, wx.TreeItemIcon_Expanded) # log.debug(item) # log.debug(lines[1]) for line in lines[1:]: words = line.split(" ") for word in words: if not word: continue it = self.tree.AppendItem(dir, word.encode("utf8")) self.tree.SetItemPyData(it, word) self.tree.SetItemImage(it, self.fileidx, wx.TreeItemIcon_Normal)
def AddTreeNodes(self,filename): #filename = '../data/唐诗三百首.txt' #filename = '../data/唐诗三百首/唐诗三百首之.卷八、五言绝句.txt' #filename = '../data/唐诗三百首/唐诗三百首之.卷二、五言乐府.txt' #获取文件名作为总节点 #(path,rootfile) = os.path.split(filename) #(rootm,roote) = os.path.splitext(rootfile) #text='' #encoding = None #self.tree.DeleteAllItems() log.debug('open '+filename) encoding,begin = encdet.detect(filename) data = open(filename,'rU').read().decode(encoding) items = data.split('=============================') titles = items[0].splitlines() rootm = titles[-2] log.debug('root'+rootm) root = self.tree.AppendItem(self.root,rootm) self.tree.SetItemImage(root, self.fldridx, wx.TreeItemIcon_Normal) self.tree.SetItemImage(root, self.fldropenidx, wx.TreeItemIcon_Expanded) #log.debug(*items) for item in items[1:]: #log.debug(item) line = item.splitlines() log.debug(line[1]) it = self.tree.AppendItem(root,line[1].encode('utf8')) self.tree.SetItemPyData(it,item) self.tree.SetItemImage(it, self.fileidx, wx.TreeItemIcon_Normal)