如何使用 ETree 在每次更改文件后增加 xml 文件的版本号

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

我正在尝试操作 xml 文件。我使用循环,对于每次迭代,我希望增加 xml 文件的版本号。为了操作 xml 文件,我使用了 ETree。到目前为止,这是我尝试过的方法:

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)

但是我在 'doc = ET.parse(fileDirect)' 行收到以下错误:

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

您似乎想使用 f-strings 而忘记了两行中的“f”。
fileDirect="/Users/tt/sumoTracefcdfile_{version}.xml" 更改为 fileDirect = f"/Users/tt/sumoTracefcdfile_{version}.xml" 并将 save_path_file = "/Users/tt/sumoTracefcdfile_{version}.xml" 更改为 save_path_file = f"/Users/tt/sumoTracefcdfile_{version}.xml" 可能会解决您的问题。