2015-11-10 13 views
6

मैं बस एक XML फ़ाइल पार्स करने का प्रयास कर रहा हूँ:अजगर त्रुटि: ImportError: नहीं मॉड्यूल नाम 'xml.etree'

import xml.etree.ElementTree as ET 
tree = ET.parse('country_data.xml') 
root = tree.getroot() 

लेकिन यह मुझे देता है:

import xml.etree.ElementTree as ET 
ImportError: No module named 'xml.etree' 

मैं अजगर 3.5 का उपयोग कर रहा । मैंने पायथन 2.7 और 3.4 के साथ एक ही कोड की कोशिश की है, लेकिन मुझे हमेशा यह त्रुटि मिलती है। मैंने सोचा कि एक्सएमएल पुस्तकालय मानक के रूप में आते हैं। इसके अलावा, मैं देख सकता हूँ कि मेरे लिब फ़ोल्डर में:

enter image description here

तो क्यों यह मॉड्यूल लेने नहीं कर सकते? मैं वास्तव में उलझन में हूँ। क्या मुझे कहीं पर्यावरण परिवेश में कुछ बदलाव करना है?

कृपया मदद करें।

+0

कभी भी बुरा मत, झूठा अलार्म। मेरे देव पैकेज का नाम xml रखा गया था। मैंने नाम बदल दिया और अब यह – AbtPst

उत्तर

13

फ़ाइल को xml.py या एक निर्देशिका xml को अपनी वर्तमान निर्देशिका से __init__.py फ़ाइल में निकालें और पुनः प्रयास करें। मॉड्यूल आयात करते समय पाइथन पहली निर्देशिका को खोजेगा। वर्तमान निर्देशिका में xml.py नामक एक फ़ाइल या xml नामक एक पैकेज एक ही नाम के साथ मानक लाइब्रेरी पैकेज को छाया करता है।

जैसा कि केशवी द्वारा एक टिप्पणी में बताया गया है, आपको फ़ाइल xml.pyc फ़ाइल को हटाने की भी आवश्यकता है, यदि यह मौजूद है। पायथन 2 में यह xml.py के समान निर्देशिका में होगा। पायथन 3 में यह उप निर्देशिका __pycache__ में होगा। सामान्य में, जब तक *.py फ़ाइल चारों ओर है, तो आप *.pyc फ़ाइल को समझदारी से हटा सकते हैं क्योंकि पायथन *.py फ़ाइल के आयात पर इसे फिर से बना देगा।

+0

काम करता है मेरे पास उस नाम की फ़ाइल नहीं है – AbtPst

+0

मेरी फ़ाइल को parse.py – AbtPst

+0

कहा जाता है क्या आपके पास उप-निर्देशिका 'xml' है? –

संबंधित मुद्दे