Home > other >  How to increase version number of a xml file after each change in the file using ETree
How to increase version number of a xml file after each change in the file using ETree

Time:04-28

I'm trying to manipulate a xml file. I use a loop and for each iteration I want the version number of the xml file to be increased. For manipulating the xml file I using ETree. Here is what I have tried so far:

def main():

import xml.etree.ElementTree as ET
import os
   
 version = "0"
 while os.path.exists(f"/Users/tt/sumoTracefcdfile_{version}.xml"):
    #use parse() function to load and parse an xml file
    fileDirect="/Users/tt/sumoTracefcdfile_{version}.xml"
    version=int(version)
    version =1

    doc = ET.parse(fileDirect)
.....
#at the end after adding some data to xml file, I do the following to write the changes into the xml file:

 save_path_file = "/Users/tt/sumoTracefcdfile_{version}.xml"
b_xml = ET.tostring(valeurs)
with open(save_path_file, "wb") as f:
      f.write(b_xml)

However I get the following error for the line 'doc = ET.parse(fileDirect)':

FileNotFoundError: [Errno 2] No such file or directory: '/Users/tt/sumoTracefcdfile_{version}.xml'

CodePudding user response:

It looks like you wanted to use f-strings and forgot the "f" in 2 lines.
Changing fileDirect="/Users/tt/sumoTracefcdfile_{version}.xml" to fileDirect = f"/Users/tt/sumoTracefcdfile_{version}.xml" and save_path_file = "/Users/tt/sumoTracefcdfile_{version}.xml" to save_path_file = f"/Users/tt/sumoTracefcdfile_{version}.xml" might solve your issues.

  • Related