मैंने अभी तक किसी भी ब्लॉक के बाहर, आरईपीएल में यह कोशिश की है। इसे कहीं और भी काम करना संभव हो सकता है।
मैं अपने अजगर स्टार्टअप फ़ाइल में इस डाल:
def bareWordHandler(type_, value, traceback_):
if isinstance(value, SyntaxError):
import traceback
# You can probably modify this next line so that it'll work within blocks, as well as outside them:
bareWords = traceback.format_exception(type_, value, traceback_)[1].split()
# At this point we have the raw string that was entered.
# Use whatever logic you want on it to decide what to do.
if bareWords[0] == 'Awesome':
print(' '.join(bareWords[1:]).upper() + '!')
return
bareWordsHandler.originalExceptHookFunction(type_, value, traceback_)
import sys
bareWordsHandler.originalExceptHookFunction = sys.excepthook
sys.excepthook = bareWordsHandler
त्वरित आरईपीएल सत्र प्रदर्शन समापन:
>>> Awesome bare words
BARE WORDS!
उपयोग जिम्मेदारी से।
संपादित करें: यहां एक और उपयोगी उदाहरण है। मैंने run
कीवर्ड में जोड़ा।
if bareWords[0] == 'from' and bareWords[2] == 'run':
atPrompt.autoRun = ['from ' + bareWords[1] + ' import ' + bareWords[3].split('(')[0],
' '.join(bareWords[3:])]
return
atPrompt.autoRun
चर, जब मेरे संकेत दिखाई देने पर स्वचालित रूप से जाँच की और वापस खिलाया हो जाएगा की एक सूची है। तो, उदाहरण के लिए, मैं यह कर सकता:
>>> from loadBalanceTester run loadBalancerTest(runJar = False)
और इस रूप में व्याख्या हो जाता है:
from loadBalancerTest import loadBalancerTest
loadBalancerTest(runJar = False)
यह एक तरह से एक मैक्रो की तरह है - यह एक आम बात है मुझे बात इस तरह का क्या करना चाहते करने के लिए, तो मैंने एक ऐसे कीवर्ड में जोड़ने का फैसला किया जो मुझे इसे कम कीस्ट्रोक में करने देता है।
क्या कोई यह बताने की परवाह करता है कि वे क्यों बंद हो रहे हैं/मतदान बंद कर रहे हैं? मैं ज्ञान साझा कर रहा हूं जो किसी भी व्यक्ति के लिए उपयोगी हो सकता है जो कि पाइथन में नए कीवर्ड जोड़ने के लिए उपयोगी हो सकता है, वास्तव में दुभाषिया के स्रोत कोड को संशोधित किए बिना और इसे पुन: संकलित करें। क्या इसका दुरुपयोग किया जा सकता है? यह लगभग निश्चित रूप से होगा। लेकिन अगर आप वास्तव में ऐसा करना चाहते हैं, तो मैंने इसे यहां आपके लिए प्रदान किया है। और यदि आप इसे नहीं करना चाहते हैं, तो बस साथ आगे बढ़ें - डाउनवोट करने या बंद करने के लिए मतदान करने की कोई आवश्यकता नहीं है। – ArtOfWarfare
इसके लिए एक दिलचस्प उपयोग केस इनपुट() के बिना एक इंटरैक्टिव कमांड लाइन इंटरफ़ेस को कार्यान्वित करेगा। इस तरह, आपके पास एक इंटरैक्टिव खोल और एक ही समय में एक क्ली की पूरी शक्ति है। यह एक विरोधी पैटर्न है, लेकिन यह दिलचस्प है। – RobotHumans
आप वक्र से बहुत दूर हैं: यही कारण है कि ... **; -) ** यह एक टैबलेट का आविष्कार नहीं कर रहा है कि आप पैसे कमाएंगे लेकिन इसे परिष्कृत करके और इसे एक आईपैड कहकर आप करेंगे, इसलिए 1 अप-वोट (जो 5 डाउन-वोटों का सामना करेगा) **>: -) ** – Fabby