2011-11-01 12 views
8

में एक मॉड्यूल आयात करना मैं पाइथन सीखने की कोशिश कर रहा हूं और मुझे मॉड्यूल आयात करने में समस्या हो रही है। मेरे पास एक .pyc फ़ाइल है जिसे मैं निष्क्रिय खोल में आयात करने की कोशिश कर रहा हूं जिसे dfa.pycनिष्क्रिय शैल

मेरे पास xyz नामक फ़ोल्डर में फ़ाइल है। मैं का उपयोग कर इस फ़ोल्डर में नेविगेट:

os.chdir('/Users/xxx/Desktop/xyz') 

तो अब, अगर मैं आदेश चलाने का प्रयास: अगर मैं आदेश चला

ImportError: No module named dfa 

:

from dfa import * 

मैं त्रुटि मिलती है :

os.path.isfile('dfa.pyc') 

सच आता है।

क्या कोई बता सकता है कि मैं dfa.pyc फ़ाइल कैसे आयात कर सकता हूं?

धन्यवाद

+1

क्या 'sys.path' का क्या महत्व है? –

+0

['/ उपयोगकर्ता/xxx/दस्तावेज़', '/Library/Frameworks/Python.framework/Versions/3.2/lib/python32.zip', '/Library/Frameworks/Python.framework/Versions/3.2/lib/python3। 2 ',' /Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/plat-darwin ',' /Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/lib- dynload ',' /Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages '] क्या आप यही पूछ रहे हैं? अगर मैं sys.path कमांड चलाता हूं तो यह वह मान है जो मुझे मिलता है। धन्यवाद –

+0

http://stackoverflow.com/questions/279237/python-import-a- मॉड्यूल-from-a- फ़ोल्डर, इन सुझावों को आजमाएं? – John

उत्तर

10

अजगर मॉड्यूल मुझे नहीं लगता कि क्या आप chdir के साथ क्या के आधार पर मैं लोड किए गए हैं। मॉड्यूल को उस फ़ोल्डर से लोड किया जाता है जिसे आपने पायथन शैल और पायथन में पाइथन शुरू किया था।

यदि आप गतिशील रूप से मॉड्यूल लोड करना चाहते हैं तो आप imp.loadmodule (पृष्ठ के निचले हिस्से में नमूना) देख सकते हैं।

9

आप

sys.path.append('<newpath'>) 
from dfa import * 

मैं बदल रहा है अपने वर्तमान निर्देशिका आयात प्रक्रिया पर कोई प्रभाव पड़ता है और भले ही यह किया है, मुझे यकीन है कि तरीका बताया गया है नहीं कर रहा हूँ पर विश्वास नहीं है ऐसा करने से कोड में PYTHONPATH को जोड़ सकते हैं आप इसे करना चाहते हैं।