अगर मैं इंटरैक्टिव मोड और प्रकार को खोलने:क्या आप पाइथन में __builtins__ को पुन: असाइन करने से पुनर्प्राप्त कर सकते हैं?
__builtins__ = 0 # breaks everything
मैं पूरी तरह से सत्र हड्डी टूट गई है? यदि हां, तो बिल्टिन मॉड्यूल को __builtins__ असाइन करने के लिए दृश्यों के पीछे क्या चल रहा है जिसे दुभाषिया द्वारा नियंत्रित नहीं किया जा सकता है? यदि नहीं, तो मैं इससे कैसे ठीक हो सकता हूं?
बस अपने ही इसे ठीक करने के प्रयास के कुछ:
- एक त्रुटि में कुछ भी परिणाम आयात करने के लिए कोई भी प्रयास "ImportError नहीं मिला __import__"
- सभी कार्यों मैं मूल्यांकन के अलावा अन्य कुछ भी करने को इस्तेमाल कर सकते हैं संख्यात्मक अभिव्यक्ति टूटी हुई हैं
- एक और चर __package__ अभी भी सुलभ है, लेकिन मुझे नहीं पता कि इसका उपयोग कैसे किया जा सकता है।
बस इसे अजगर 3 में चलाने की कोशिश की .. एक त्रुटि मिली। विशेष रूप से, यह: [टी के लिए टी() .__ वर्ग __.__ बेस __ [0] .__ उपclasses __() टी .__ नाम__ में 'चेतावनी'] [] जब मैं इसे चलाने का प्रयास करता हूं तो विस्तार करता है। शायद यह अजगर 3 बनाम 2 के साथ एक समस्या है? –
Slick! क्या वास्तव में सत्र को पूरी तरह से तोड़ने का कोई तरीका है? – acjay
@ हार्टसिमा: पाइथन 2 प्रतिबंधित मोड को सक्षम करता है यदि वर्तमान फ्रेम में बिल्टिन दुभाषिया बिल्टिन से अलग है।चूंकि प्रतिबंधित मोड को पायथन 3 में हटा दिया गया था, इसलिए फ़ंक्शन से '__builtins__' प्राप्त करने के लिए इस उत्तर को संशोधित करना आसान है:' __builtins__ = [टी में() .__ वर्ग __.__ आधार __.__ उपclasses __() टी .__ name__ == 'आकार '] [0] .__ लेन __.__ वैश्विक __ [' __ builtins __ '] '। – eryksun