python常用的标准库有哪些,python有哪些标准库

  python常用的标准库有哪些,python有哪些标准库

  个人资料

  元素类型是一个灵活的容器对象,用于在内存中存储结构化数据。

  [注意]xml.etree.ElementTree模块不安全,无法处理恶意的结构化数据。

  每个元素对象都具有以下属性:

  1.标签:字符串对象。指示数据表示的种类。

  2.attrib:字典对象。表示附加的属性。

  3.文本:字符串对象。表示元素的内容。

  4.tail:字符串对象。指示元素关闭后的轨道。

  5.一些子元素。

  texttail

  1 2 3 4

  创建元素的方法是元素或子元素()。前者称为元素的构造函数,用于构建任何独立的元素。后者称为元素制造功能,用于制造某个元素的子元素。

  生成一系列元素后,使用ElementTree类将它们打包,转换成xml文件或从xml文件中分析它们。

  为了加快速度,请使用C语言编译的API xml.etree.cElementTree。

  导入元素树

  如果使用xml.etree.ElementTree,它通常按如下方式导入:

  尝试:

  导入XML.etree.celementtreeaset

  异常错误:

  导入XML.etree.element树集

  XML是一种结构化数据格式。ET使用ElementTree来表示整个XML文档,并将其视为一棵树。元素表示文档树中的每个节点。

  ET提供了从各种来源导入数据的方法,如下所示:

  #从硬盘xml文件中读取数据

  导入XML.etree.element树集

  tree=et . parse(country _ data . XML)#加载数据

  Get root=tree.getroot根节点

  从# string读取数据

  root=et . from string(country _ data _ as _ string)).

  【注意】上面的root其实是一个元素,因为】fromstring()直接获取string对象中的根节点。

  作为一个元素对象,它有自己的子元素,所以它可以直接在元素中重复值。

  对于根中的儿童:printchild.tag。

  国家{ 名称 : 列支敦士登 }

  国家{ 名称 : 新加坡 }

  国家{ 名称:巴拿马 }

  或者,直接使用索引查找子节点。

  根[0] [1]。文本

   2008

  在元素中遍历和查询

  元素。ITER(tag=none):遍历该元素的所有后代,或者为遍历搜索指定标签。

  Element.findall(path):查找与当前元素下的标签或路径匹配的直接节点。

  Element.find(path):在当前元素下查找匹配标签或路径的第一个直接节点。

  获取当前元素的文本值。

  Element.get(key,default=None):获取元素指定的键对应的属性值,如果没有属性则返回默认值。

  元素对象

  class XML . etree . element tree . element(tag,attrib={},**extra)).

  Tag:string,元素表示的数据类型。

  Text:字符串,元素的内容。

  Tail:string,元素的尾部。

  Attrib:字典,元素属性字典。

  #对属性的操作

  Clear():空元素、属性、文本和尾部的后代也被设置为None。

  Get(key,default=None):获取key对应的属性值,如果不存在则返回默认值。

  Items():根据属性字典返回包含列表元素(key,value)的列表。

  Kys():返回包含所有元素的属性键列表。

  Set(key,value):设置新的属性键和值。

  #对后代的操作

  Append(子元素):添加直接子元素。

  Extend(子元素):添加一系列元素对象作为子元素。#python2.7的新特性

  Find(match):查找第一个匹配的子元素。匹配对象是标签或

  路径.

  Findall(match):查找所有匹配的子元素,匹配的对象可以是tag或path。

  Findtext(match):查找第一个匹配的子元素并返回其文本值。匹配对象可以是标签或路径。

  Insert(index,element):在指定位置插入子元素。

  Iter(tag=None):生成遍历当前元素或给定标记的所有后代的迭代器。#python2.7中的新特性

  Iterfind(match):根据标签或路径查找所有后代。

  Itertext():遍历所有后代并返回文本值。

  删除(子元素):删除子元素。

  树对象

  class XML . etree . element tree . element tree(element=None,file=None)

  如果给定了元素,则它是新元素树的根节点。

  _setroot(element):用给定的元素替换当前根节点。慎用。

  #以下方法类似于Element类中同名的方法,只是它们将根节点指定为操作对象。

  查找(匹配)

  查找全部(匹配)

  findtext(匹配,默认值=无)

  Getroot():获取根节点。

  iter(标签=无)

  匹配项

  Parse(source,parser=None):加载xml对象,source可以是文件名或文件类型对象。

  write(file,encoding=us-ascii ,xml_declaration=None,default_namespace=None,method=xml )

  模块方法

  XML . etree . element tree . comment(text=none)创建一个特殊元素,该元素通过标准序列化表示注释。注释可以是字节字符串或unicode。Xml.etree.element tree.dump (ELM)生成element tree,通过sys.stdout输出ELM可以是元素树,也可以是单个元素。此方法最好仅用于调试。Xml . etree . element tree . from string(Text)Text是包含XML数据的字符串,类似于XML()方法,返回一个元素实例。Xml . etree . element tree . from string list(sequence,parser=none)从字符串的序列对象中解析XML文档。默认的解析器是XMLParser,它返回一个元素实例。

  new version 2.7 . XML . etree . element tree . is element(element)检查是否为element对象。Xml . etree . element tree . ITER parse(source,events=none,parser=none)将包含XML数据的文件或文件对象增量解析到element tree中,并报告进度。事件是一个报告列表。如果忽略,将只报告结束事件。

  注意iterparse()只有看到开始标签的符号才会抛出开始事件,所以当时已经定义了属性,但是当时还没有定义text和tail属性,同样的子元素也没有定义,所以可能不会显示。如果你想要完整的元素,请寻找结束事件。将文件或字符串解析到element tree中。Xml . etree . element tree . processing instruction(target,text=none)该方法创建一个特殊的元素,该元素被序列化为XML处理命令。XML . etree . element tree . register _ namespace(prefix,uri)注册名称空间前缀。此注册是全局有效的,任何给定的前缀或命名空间uri映射关系都将被删除。

  在2.7 . XML . etree . element tree . sub element(parent,tag,attrib={},* * extra)子元素工厂中,创建一个元素实例并将其追加到已知节点。Xml . etree . element tree . tostring(element,encoding= US-ASCII ,method= xml )生成一个字符串来表示代表XML的元素,包括所有子元素。是元素实例,方法是“xml”、“html”、“text”。返回包含xml数据的字符串。Xml . etree . element tree . tostringlist(element,encoding= US-ASCII ,method= xml )生成一个字符串来表示代表XML的元素,包括所有子元素。是元素实例,方法是“xml”、“html”、“text”。返回包含xml数据的字符串列表。

  new version 2.7 . xml . etree . element tree . XML(text,parser=none)从字符串常量解析XML片段。返回一个元素实例。Xml . etree . element tree . xmlid(text,parser=none)从字符串常量中解析XML片段,并返回一个字典以将元素的id映射到其自身。

  例子

  可扩展标记语言

  ?xml版本=1.0 编码=utf-8 ?

  引导代码接口测试

  dgm.boweixin.com

  80

  []

  账户

  一个

  2

  userId34

  用户标识

  01001

  下船

  邮政

  /登录

  {appstatus: {errorcode: 0, message :操作成功 },

  content:[{user_sex:0, fk_user_city:440300,

   user_id:30,昵称: 18576759587 ,

  用户电话: 18576759587 ,

  head _ picture : http:\/\/dgm . bowei Xin . com \/,

   has_finance:1,

  “用户状态”:1

  }]

  }

  用户标识

  0

  账户

  五

  六

  使用者辩证码

  七

  八

  用户标识

  10012

  1次着陆

  后1

  /Login1

  {appstatus: {errorcode: 0, message :操作成功 },

  content:[{user_sex:0, fk_user_city:440300,

   user_id:30,昵称: 18576759587 ,

  用户电话: 18576759587 ,

  head _ picture : http:\/\/dgm . bowei Xin . com \/,

   has_finance:1,

  “用户状态”:1

  }]

  }

  0

  0

  代码分析

  从xml.etree将元素树作为ET导入

  def getXML(xml):

  tree=ET.parse(xml)

  root=tree.getroot()

  i_base={}

  interfaceName=[]

  I _ base[ title ]=root。查找(标题).文本

  i_base[host]=root.find(host ).文本

  i_base[port]=root.find(port ).文本

  i_base[No]=root.find(No ).文本

  interfaceName.append(i_base)

  对于root.findall(InterfaceList )中的elem:

  i_app={}

  i_app[id]=elem.find(id ).文本

  i_app[name]=elem.find(name ).文本

  i_app[方法]=elem.find(方法)。文本

  i_app[url]=elem.find(url ).文本

  i_app[hope]=elem.find(hope ).文本

  I _ app[登录]=elem。查找(“登录”).文本

  I _ app[ is list ]=elem。find( is list ).文本

  interfaceName.append(i_app)

  对于elem.findall(params )中的p:

  打印(p .查找(名称)。属性。get( type ))

  print(p.find(value ).正文)

  打印(p.find(must ).正文)

  #打印(接口名称)

  返回接口名称

  getXML(test4.xml )

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: