0

我有要传递给保存在 xml 文件中的 python 代码的参数。如何将此 xml 作为参数传递给我的 python 代码?有人可以帮忙吗?

感谢Advce!

4

2 回答 2

1

假设您有“file.xml”:

    <?xml version="1.0"?>
    <address>
            <name>John Doe</name>
            <position>CEO</position>
    </address>

您可以:

  • 将 XML 文件作为命令行参数传递给您的 python 脚本。

    用法:script.py path/to/file.xml

    import sys
    from xml.dom.minidom import parseString
    
    def read_xml(xml_file):
            with open(xml_file, 'r') as f:
                    data = f.read()
    
            return parseString(data)
    
    if (len(sys.argv) < 2):
            print "Error: Missing parameter."
    else:
            dom = read_xml(sys.argv[1])
            tag = dom.getElementsByTagName('name')[0].toxml()
    
            print tag
    

    如果你使用 argparse 模块而不是 sys.argv 会更好。

  • 或者只是打开并读取 XML 文件并对其进行解析。

    from xml.dom.minidom import parseString
    
    def read_xml(xml_file):
            with open(xml_file, 'r') as f:
                    data = f.read()
    
            return parseString(data)
    
    dom = read_xml("file.xml")
    tag = dom.getElementsByTagName('name')[0].toxml()
    
    print tag
    
于 2013-05-20T05:42:13.120 回答
1

您可以在执行脚本时将其作为命令行参数传递。使用sys.argv,存储所有传递的参数的数组或argparse模块,处理可自定义的命令行参数

于 2013-05-20T05:29:32.050 回答