使用Python通过argparse将xml DOM打印到其他目录

2024-06-28 15:06:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用以下代码使用xslt文件解析xml文件

import lxml.etree as ET

dom = ET.parse(xml_filename)
xslt = ET.parse(xsl_filename)
transform = ET.XSLT(xslt)
newdom = transform(dom)
print(ET.tostring(newdom, pretty_print=True))

当前在运行代码的同一文件夹中生成输出…相反,我更希望将其放在不同的文件夹中。我已尝试使用以下代码:

import lxml.etree as ET
import argparse

ap = argparse.ArgumentParser()
ap.add_argument("-x", "--xmlfile", required=True, help="Path to the xmlfile")
ap.add_argument("-s", "--xslfile", required=True, help="Path to the xslfile")
ap.add_argument("-o", "--outputfolder", required=True, help="Path to the output files")
args = vars(ap.parse_args())

dom = ET.parse(args["xmlfile"])
xslt = ET.parse(args["xslfile"])
transform = ET.XSLT(xslt)
newdom = transform(dom)
print(ET.tostring(newdom, pretty_print=True))

但不确定如何将args[“outputfolder”]与print集成。我尝试了以下方法:

print(ET.tostring(args["outputfolder"], newdom, pretty_print=TRUE))
print(ET.tostring(args["outputfolder"]/newdom, pretty_print=TRUE))

但这带来了错误。我正在Ubuntu 14.04上使用Python 2.7.6


Tags: 代码importtrueparseprettyargstransformdom