如何在python脚本中传递xml作为参数?

时间:2013-05-20 05:23:37

标签: python xml python-2.7 xml-parsing urllib2

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

感谢Adavce!

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分: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