2012-04-13 17 views
33

मैं अजगर 3.2.2 का उपयोग कर रहा हूं। जब मैं एक साधारण कार्यक्रम लिखता हूं, तो मैं समस्या को पूरा करता हूं।नाम त्रुटि: नाम 'रीलोड' परिभाषित नहीं किया गया है

>>> reload(recommendations) 
Traceback (most recent call last): 
    File "<pyshell#6>", line 1, in <module> 
    reload(recommendations) 
NameError: name 'reload' is not defined 

मुझे यह कैसे करना चाहिए?

+7

एक "सरल प्रोग्राम" को शायद 'पुनः लोड' की आवश्यकता नहीं है। – geoffspear

+0

मैं "रीलोड (सिफारिशें)", "सिफारिशें .abc()" का उपयोग करना चाहता हूं। लेकिन इसे – MindHacks

+0

@MindHacks नहीं मिल सकती है यदि आपने सिफारिशें आयात नहीं की हैं, तो आप इसे पुनः लोड नहीं करते हैं, आप इसे आयात करते हैं। 'आयात सिफारिशें ''। आपको लगता है कि आपको 'reload()' 'का उपयोग करने की आवश्यकता क्यों है? –

उत्तर

82

शायद आप importlib.reload() चाहते थे।

from importlib import reload 

पायथन 2.x में, यह एक builtin था, लेकिन 3.x में, यह importlib मॉड्यूल में है।

ध्यान दें कि दुभाषिया के बाहर reload() का उपयोग करना आम तौर पर अनावश्यक है, आप यहां क्या करने की कोशिश कर रहे थे?

+0

धन्यवाद, यह काम करता है। लेकिन अगर मैं रीलोड का उपयोग करना चाहता हूं, तो मुझे हर बार फाइल आयात करनी होगी? – MindHacks

+0

@MindHacks: आप किस "फाइल" के बारे में बात कर रहे हैं? –

+0

@ स्वेन मार्नच: आईपी ... – MindHacks

6

@Gareth Latty के उत्तर में एक अपडेट। पाइथन 3.4 में imp को कम किया गया था। अब आप importlib.reload() चाहते हैं।

from importlib import reload 
संबंधित मुद्दे