如何使用 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"
可能会解决您的问题。
我正在尝试操作 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"
可能会解决您的问题。