Python 在另一个文件中编辑 etree 子元素文本

Python editing etree subelement text in another file

首先,我对 python 比较陌生,目前我正在试验 lxml 和 etree。我目前有一个 python 文件 (generateXML.py),它在 xml 中生成一个模板。我正在使用 lxml 库和 etree。例如:

def generate_tree(self):
    parent_root = etree.Element("PARENT")
    first_child = etree.SubElements(parent_root, "first_child").text = "FIRST"
    second_child = etree.SubElements(parent_root, "second_child").text = "SECOND"
    third_child = etree.SubElements(parent_root, "third_child").text = "THIRD"

这将创建一个包含一个父节点和三个子节点的 xml 文件。

现在我有另一个名为 editXML.py 的文件,它根据我从命令行 运行 时传入的参数替换子项的文本。

from generateXML import generate_tree

def generate_new_tree():
#code to replace filler names 

当我从命令行 运行 "python editXML Tim Tom Tony" 时,我想用 "Tim" 替换 "FIRST",用 "Tom" 替换 "SECOND" , 和 "THIRD" 与托尼。

我的问题本质上是如何从 editXML.py 中的 generateXML.py 访问变量 first_child、second_child 和 third_child。 我试过了

from generateXML import generate_tree 

但我似乎无法访问那样的变量。任何帮助在这里都会有所帮助

更改以下内容:

def generate_tree():
    ...
    return parent_root

from generateXML import generate_tree
def generate_new_tree():
    pList = ['Tim', 'Tom','Tony']
    root = generate_tree()
    for i, child in enumerrate(root):
       child.text = pList[i]

    for child in root:
        print(child.text)