मानक "प्रवेश" मॉड्यूल का आयात डमी प्रविष्टियों में से एक समूह के साथ sys.modules को प्रदूषित करता है:sys.modules में डमी मॉड्यूल क्यों हैं?
Python 2.5.4 (r254:67916, Dec 23 2008, 15:10:54) [MSC v.1310 32 bit (Intel)] on win32
>>> import sys
>>> import logging
>>> sorted(x for x in sys.modules.keys() if 'log' in x)
['logging', 'logging.atexit', 'logging.cStringIO', 'logging.codecs',
'logging.os', 'logging.string', 'logging.sys', 'logging.thread',
'logging.threading', 'logging.time', 'logging.traceback', 'logging.types']
# and perhaps even more surprising:
>>> import traceback
>>> traceback is sys.modules['logging.traceback']
False
>>> sys.modules['logging.traceback'] is None
True
तो इस पैकेज का आयात sys.modules में अतिरिक्त नामों डालता है, सिवाय इसके कि वे मॉड्यूल नहीं, बस कोई नहीं के लिए संदर्भ । अन्य मॉड्यूल (उदा। Xml.dom और एन्कोडिंग) में भी यह समस्या है। क्यूं कर?
संपादित करें: bobince के जवाब पर बिल्डिंग, वहाँ the origin का वर्णन पृष्ठ हैं (देखें अनुभाग "sys.modules में डमी प्रविष्टियां") और सुविधा के future।
अच्छा लिंक ... मैंने वास्तव में इसे पहले कहीं भी दस्तावेज नहीं देखा था। जाहिर है, किसी कारण से मैंने स्पष्ट शीर्षक "द नाइट्स हू सई नीओ ... वूम ... पिंग" की खोज नहीं की थी। आह, पायथन ... – bobince
मैं एक सटीक डुप्लिकेट पोस्ट करने जा रहा था - मेरा दूसरा आज: पी –