首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python循环在按行读取时不起作用。

Python循环在按行读取时不起作用。
EN

Stack Overflow用户
提问于 2017-04-26 18:34:09
回答 1查看 34关注 0票数 0

我试图解析一个XML文件并从行中删除不必要的标记。我的循环被捕获了,不会在标记上应用第二个if语句,我不知道为什么..我已经盯着这个看了一个多小时了,并且测试了新的方法,但是我一直得到错误的ParseError: mismatched tag:。从调试中,我可以看出它甚至没有进入第二个if语句,但在我看来,逻辑似乎应该是这样的。我知道我错过了一些小东西,但我想不出.有什么想法吗?

代码语言:javascript
复制
with open('test.xml') as inXML, open(outputFilename, 'w') as outXML:
    outXML.write('<root>\n')
    for line in inXML.readlines():
        if (line.find("<sub>")):
            newline = line.replace("<sub>", "")
            newLine = newline.replace("</sub", "")
        elif (line.find("<sup>")):
            newline = line.replace("<sup>", "")
            newLine = newline.replace("</sup", "")

        outXML.write(re.sub('&[a-zA-Z]+;',anglicise,newLine))
    outXML.write('\n</root>')

XML测试

代码语言:javascript
复制
<pub>
    <ID>5010</ID>
    <title>Model-Checking for L<sub>2</sub</title>
    <year>1997</year>
    <booktitle>Universit&auml;t Trier, Mathematik/Informatik, Forschungsbericht</booktitle>
    <pages></pages>
    <authors>
        <author>Helmut Seidl</author>
    </authors>
</pub>
<pub>
    <ID>71035</ID>
    <title>S_2p \subseteq ZPP<sup>NP</sup</title>
    <year>2001</year>
    <booktitle>Electronic Colloquium on Computational Complexity (ECCC)</booktitle>
    <pages></pages>
    <authors>
        <author>Jin-yi Cai</author>
    </authors>
</pub>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-26 19:18:34

谢谢@juanpa.arrivillaga & @BrenBarn,解决方案在一行迭代中叠加了.replace()语句,如下所示:

代码语言:javascript
复制
with open('test.xml') as inXML, open(outputFilename, 'w') as outXML:
    outXML.write('<root>\n')
    for line in inXML.readlines():
        line = line.replace("<sub>", "").replace("</sub", "").replace("<sup>", "").replace("</sup", "")
        outXML.write(re.sub('&[a-zA-Z]+;',anglicise,line))
    outXML.write('\n</root>')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43642021

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档