2013-05-20 70 views
0

我有參數傳遞給我的Python代碼保存在一個XML文件。 如何將這個XML作爲參數傳遞給我的Python代碼? 有人可以幫忙嗎?如何在python腳本中將xml作爲參數傳遞?

謝謝Adavce!

+0

你可以簡單地傳遞的路徑,XML文件,並解析,在你的代碼。 –

回答

1

執行腳本時,可以將它作爲命令行參數傳遞。使用sys.argv,存儲傳遞的所有參數或argparse模塊陣列,用於處理自定義命令行參數

0

假設你有「file.xml」爲:

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

您可以:

  • 將XML文件作爲命令行參數傳遞給您的python腳本。

    用法:script.py路徑/到/ 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 
    
+0

'def read_xml(「path/to/file.xml」):'..這是一個非常奇怪的'def'。我想你在寫這個的時候正在考慮調用它。 – kampu

相關問題