के साथ एक्सएमएल के रूप में आउटपुट स्वरूपण करना मेरा प्रोग्राम मूल रूप से एक इनपुट फ़ाइल पढ़ता है, उस फ़ाइल से lxml.etree बनाता है, उदाहरण के लिए मैं एट्री में एक नोड जोड़ता हूं और फिर मैं उसे एक फ़ाइल पर प्रिंट करना चाहता हूं। तो इसे वापस लिखने के लिए एक फ़ाइल का उपयोग मैं पर:एलएक्सएमएल
et.write('Documents\Write.xml', pretty_print=True)
और उत्पादन मेरे पास है:
<Variable Name="one" RefID="two">
<Component Type="three">
<Value>four</Value>
</Component>
</Variable>
कहाँ हूँ:
<Variable Name="one" RefID="two"><Component Type="three"><Value>four</Value></Component></Variable>
मैं की तरह कुछ करना चाहते हैं जबकि मुझे गलती हुई? मैंने कई समाधानों की कोशिश की है लेकिन कोई भी काम नहीं करता है (सुंदरसप, साफ, पार्सर ...)
क्या यह विंडोज़ से संबंधित हो सकता है? यदि आप अपनी आउटपुट फ़ाइल को 'io' मॉड्यूल के साथ खोलने का प्रयास करते हैं:' fp = io.open ('दस्तावेज़ \ Write.xml', 'w', newline = '\ r \ n') और फिर 'fp' को लिखें 'जैसे' et.write (fp, pretty_print = True) ' (देखें http://docs.python.org/2/library/io.html#io.open) –
हाय पॉल, मैं कोशिश कर रहा हूं कि आप क्या कर रहे हैं कहते हैं लेकिन एफपी क्या है? फाइल मैं लिखना चाहता हूँ? क्षमा करें मैं एक नौसिखिया हूँ! – JAWE
बस एक फ़ाइल सूचक जो फ़ाइल लिखना चाहते हैं, हां। 'et.write()' इनपुट के रूप में एक फ़ाइल नाम या खुली फ़ाइल सूचक के रूप में ले सकता है, जैसे 'io.open' से आने वाली कुछ चीज़ (http://lxml.de/api/lxml.etree._ElementTree-class.html#write)। आप 'आयात io'' का प्रयास कर सकते हैं, फिर 'et.write (io.open (' दस्तावेज़ \ Write.xml ',' w ', newline =' \ r \ n '), pretty_print = True) ' –