栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python中xmindparser

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python中xmindparser

1、获取xmind中title值
要想获取每个title的值,使用方法名
isinstance()进行类型判断,是列表,然后通过列表遍历可以得到列表中的key,因为key是topics,要想获得列表中title的值,通过递归调用了本身方法名
get_value()这样就可以获取到全部title的值。最后使用方法名append()将每个值都插入到列表

import xmindparser

xmindparser.config = {
            'showTopicId': False, # 原有配置
            'hideEmptyValue': True, # 原有配置
            'showStructure': False, # 新增配置,是否展示结构值
            'showRelationship': True # 新增配置,是否展示节点关系
        }

def xmind_t_tuple(filePath,spilt_num,case):
    try:
        content = xmindparser.xmind_to_dict(filePath)
        deal_first_list = content[0]['topic']['topics']
        case_sp = get_value(deal_first_list,case)
        res = tran_list(case_sp, spilt_num)
        values = str(res).split('[')[1].split(']')[0]
        print(values)
        return values
    except Exception as e:
        print(e)


def get_value(deal_value,case):
    try:
        if isinstance(deal_value, list):
            for i in deal_value:
                for key in i:
                    if key == "topics":
                        get_value(i[key],case)
                    else:
                        case.append(i[key])
        return case
    except Exception as e:
        print(e)

def tran_list(list_all,spilt_num):
    try:
        s_n = int(spilt_num)
        count = len(list_all)//s_n
        ml = []
        for i in range(0,count):
            ll = list_all[0:s_n]
            ll = tuple(ll)
            del list_all[0:s_n]
            ml.append(ll)
        return ml
    except Exception as e:
        print(e)

if __name__ == '__main__':
    filePath = r'C:xmind样例.xmind'
    case=[]
    xmind_t_tuple(filePath,8,case)

2、del语句作用在变量上,而不是数据对象上

if __name__=='__main__':  
    a=1       # 对象 1 被 变量a引用,对象1的引用计数器为1  
    b=a       # 对象1 被变量b引用,对象1的引用计数器加1  
    c=a       #1对象1 被变量c引用,对象1的引用计数器加1  
    del a     #删除变量a,解除a对1的引用  
    del b     #删除变量b,解除b对1的引用  
    print(c)  #最终变量c仍然引用1  

del删除的是变量,而不是数据

if __name__=='__main__':  
    li=[1,2,3,4,5]  #列表本身不包含数据1,2,3,4,5,而是包含变量:li[0] li[1] li[2] li[3] li[4]   
    first=li[0]     #拷贝列表,也不会有数据对象的复制,而是创建新的变量引用  
    del li[0]  
    print(li)      #输出[2, 3, 4, 5]  
    print(first)   #输出 1  
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/269749.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号