मैं इंटरैक्टिव पायथन दुभाषिया में टैब-पूरा कैसे कर सकता हूं?


14

मैं अक्सर पायथन 3000 के इंटरएक्टिव इंटरप्रेटर का उपयोग करता हूं, लेकिन यह टैब-पूर्ति की सुविधा को याद कर रहा हूं जिसका उपयोग मैं आइपिथॉन से कर रहा हूं, जो पायथन 3.x के लिए उपलब्ध नहीं है।

मैं उन सभी, 2.6 और 3.x में टैब पूर्णता को कैसे सक्षम करूं?

जवाबों:


17

सबसे पहले, .pythonstartup.pyअपने होम डायरेक्टरी में एक नई फाइल बनाएं । इसमें निम्नलिखित स्क्रिप्ट डालें:

try:
    import readline
except ImportError:
    print("Module readline not available.")
else:
    import rlcompleter
    readline.parse_and_bind("tab: complete")

स्ट्रिंग के चारों ओर कोष्ठक सुनिश्चित करते हैं कि यह पायथन 2 और पायथन 3 दोनों के साथ काम करता है।

हर बार जब इंटरएक्टिव इंटरप्रेटर शुरू होता है, तो यह एक स्क्रिप्ट को निष्पादित करता है $PYTHONSTARTUP, अगर वहाँ एक है। उपरोक्त स्क्रिप्ट को निष्पादित करने के लिए इसे सेट करने के लिए, टाइप करें

export PYTHONSTARTUP="~/.pythonstartup.py"

आपको इस लाइन को अपनी .bashrcया.bash_profile फ़ाइल में लिखना चाहिए , ताकि नया शेल शुरू होने पर यह अपने आप निष्पादित हो जाए।


6
सूचना: यदि आप टर्मिनल शुरू करते हैं और फिर निर्देशिका बदलते हैं तो यह काम नहीं करेगा। यदि आप चाहते हैं कि यह विधि आपके द्वारा निर्देशिका में कोई फर्क नहीं पड़ता है, तो आपको पूर्ण पथ का उपयोग करना चाहिए जैसे किexport PYTHONSTARTUP="/home/user/.pythonstartup.py"
Pikikos

1
निर्यात होने से आपका निर्यात थोड़ा अधिक सहिष्णु हो सकता हैPYTHONSTARTUP=~/.pythonstartup.py
Mikael Fremling

यदि आप इंटरेक्टिव मोड में फ़ाइल शुरू करते हैं, जैसे यह काम नहीं करता है python -i main.py। ऐसा करने का कोई तरीका?
क्रिस एंडरसन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.