删除文件python的特定部分

时间:2014-12-09 15:26:46

标签: python file python-3.x

我在Windows(8.1)下的python 3.2下工作,我有一个XML文件,如果存在特定的部分,我想删除它。以下是我需要做的视觉示例:

http://imagizer.imageshack.us/a/img905/8028/9DAu6v.png

我想知道我们如何删除图片中的选定部分,知道可能有几次出现。

3 个答案:

答案 0 :(得分:0)

您可以使用xml.etree.ElementTree:https://docs.python.org/2/library/xml.etree.elementtree.html#modifying-an-xml-file

from xml.etree import ElementTree

with open('file.xml', 'rt') as f:
    tree = ElementTree.parse(f)

root = tree.getroot()
for node in root.iter():
    if node.tag == 'object2':
        root.remove(node)

tree.write(out.xml)

答案 1 :(得分:-1)

import re
f=open("some.xml",'r')
f.close()
x=f.read()
y=re.sub(r"<object2>(?:(?!<\/object2>)[\s\S])*<\/object2>","",x)
f=open("some.xml",'w')
f.write(y)
f.close()

您可以使用re尝试此操作。

答案 2 :(得分:-1)

f = open('xmlfile.xml','r')
flag = False
tempData = ''
for line in f:
  if '<object2>' in line:
    flag = True
  elif flag == True and '</object2>' in line:
    flag = False
  elif flag == False:
    tempData += line
f.close()
f = open('xmlfile.xml','w')
f.write(tempData)
f.close()

比vks的回答长一点,但不需要导入。