如何用Python输出漂亮的xml文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用Python输出漂亮的xml文件相关的知识,希望对你有一定的参考价值。
最近要用Python处理一个xml文件。平时习惯了用xml.etree.ElementTree,结果发现此库存在一些让人无法忍受的缺点:1. 无法处理comment和cdata
2. 输出后的xml文件没有换行,没有缩进,十分难以阅读
于是尝试这用xml.dom.minidom,前两个问题几乎全部解决了。唯一让人看着不爽的是minidom对于text的处理。比如,我期待的xml输入如下:
[html] view plain copy
<pre name="code" class="html"><pre name="code" class="html"><root>
<host>192.168.0.1</host>
</root>
但是使用xml.dom.minidom.Document.writexml后,输出的结果却是这样的:
[html] view plain copy
<root>
<host>
192.168.0.1
</host>
</root>
开始的时候,我考虑重写Document.writexml函数,觉得太麻烦,有用牛刀杀鸡之感。后来想想,其实自己的需求非常简单,只是需要对Document的输出结果做个二次处理即可。使用python的正则表达式库就可以实现:
[python] view plain copy
def save_xml(self, file_name):
xml_str = self.m_dom.toprettyxml(indent=" ")
repl = lambda x: ">%s</" % x.group(1).strip() if len(x.group(1).strip()) != 0 else x.group(0)
pretty_str = re.sub(r'>\n\s*([^<]+)</', repl, xml_str)
open(file_name, 'w').write(pretty_str)
先将Document输出到字符串,然后使用正则表达式将text中的空行去掉即可。
黑马程序员的PYthon是国内最早开设的真正人工智能课程。课程全面系统,紧跟时代潮流。 参考技术A 你的问题可以直接转化为python如何读取文件,使用这句代码:open('thefile.xml').read( ) 下面是例子: >>> open('D:\\Test.xml',encoding='utf8').read()不知道为什么,python3.4中读取文件的默认使用GBK,这一点要注意本回答被提问者采纳
再见HTML !如何用Python写一个漂亮的网页?
点击蓝色“Python交流圈”关注我丫
加个“星标”,每天一起进步一点点
-
要懂后端,比如Python里面的Django或者Flask,或者是Java里面的SpringBoot -
要懂前端,现在都叫大前端了(因为很复杂),比如前端的框架Vue/React, 然后页面的美化框架Bootstrap ,还有html ,csss 和Javascript 三驾马车.
今天小编在Github上逛的时候,找到一个非常酷的神器,名字叫remi ,目前收获了2300个赞。
跟其他GUI库区别? Kivy,PyQT和PyGObject都需要主机操作系统的本机代码,这意味着安装或编译大型依赖项。Remi只需要一个Web浏览器即可显示您的GUI。
我需要懂HTML吗? 不,只需要使用Python进行编码。
它是开源的吗? 当然!Remi是根据Apache许可发布的。开源,免费!
我需要某种网络服务器吗? 不,自带网络服务器。
1
安装
如何安装呢,因为是Python 库,直接用pip 即可
pip install remi
如果是没有网络的,或者服务器跟外网不通的,可以离线安装。下载这个包,然后用install 安装
python setup.py install
2
快速体验
我们来快速看一下,这个简单的Hello world网页。
这里面包含了一个 2个元素:
文本Hello world ;
一个Press me的按钮;
点击这个按钮还会改变Hello world的文本内容,看点一下就变成了Button pressed.
我们来看一下源码:
-
首先声明一个MyApp类,这个类会继承母框架App里面的功能,可以认为是一个网页画布; -
然后在这个画布里面有3个函数: init主要是做类的初始化工作; main主要对这个画布布局进行设计,包含一个文本和一个按钮。 on_button_pressed主要是控件的相应,点击触发函数 -
最后是start来启动这个类,就会生成一个本地的网站链接
3
更多复杂的网页元素
链接:
https://github.com/dddomodossola/remi
近期热门推荐 以上是关于如何用Python输出漂亮的xml文件的主要内容,如果未能解决你的问题,请参考以下文章