2017-01-07 8 views
12

पिछले कंप्यूटर पर, जब मैं विंडोज कमांड प्रॉम्प्ट पर एक अजगर स्क्रिप्ट से बाहर निकलने की कोशिश करेंगे, तुम सब करने की जरूरत है प्रेस ctrl + है। लेकिन जब मैं ऐसा अपने कंप्यूटर पर यह मुझसे कहता है "KeyboardInterrupt"कैसे कमांड प्रॉम्प्ट में अजगर स्क्रिप्ट बाहर निकलने के लिए

C:\Windows\System32 
>python 
Python 3.6.0 (v3.6.0:41df79263a11, Dec 23 2016, 07:18:10) [MSC v.1900 32 bit (Intel)] on win32 
Type "help", "copyright", "credits" or "license" for more information. 
>>> [I press ctrl+c] 
KeyboardInterrupt 
>>> 

तो मैं कैसे ठीक करूं इस तो मैं अजगर स्क्रिप्ट से बाहर निकलें कर सकते हैं?

संपादित:
ctrl + z काम करता है, लेकिन मैं कोड के रूप में यह दर्ज करना होगा। स्क्रिप्ट से बाहर निकलने के लिए एक त्वरित और आसान तरीका की उम्मीद कर रहा था, लेकिन ओह ठीक है।

+1

ctrl + c वर्तमान में चल रही किसी भी प्रक्रिया को रोकता है। कंसोल से बाहर निकलने के लिए 'छोड़ें() 'का उपयोग करें। – 3novak

+0

+ 0 से बाहर निकलने के लिए – elyashiv

+1

इसके बजाय 'बाहर निकलें()' टाइप करने का प्रयास करें। – Inconnu

उत्तर

16

यह वास्तव में ओएस पर निर्भर करता है, और शायद आपके द्वारा उपयोग किए जाने वाले पायथन के संस्करण पर निर्भर करता है।

आप उल्लेख किया है, ctrl + सी अजगर 3.6 के साथ अपने Windows 10 पर काम नहीं करता है, लेकिन यह अजगर 3.4 के साथ अपने Windows 10 पर काम करता है। इसलिए, आपको वास्तव में कोशिश करने और देखने की ज़रूरत है कि आपके लिए क्या काम करता है।

निम्न कमांड प्रयास करें, और एक है कि काम करता है रखें:

  • ctrl + सी
  • ctrl + डी
  • ctrl + जेड तो रिटर्न

इसके अलावा, के बाद किसी भी टर्मिनल के साथ काम करना चाहिए:

  • exit() तो वापसी
  • quit() तो वापसी

सामान्य ज्ञान: आप टाइप यदि quit और हिट रिटर्न, सांत्वना आपको बताता है, कम से कम अजगर 3.4 के लिए:

Use quit() or Ctrl-Z plus Return to exit

+1

Ctrl + C केवल "काम करता है" (यह एक बग है) विंडोज 8+ में पायथन 3.6 से पहले क्योंकि विंडोज ['रीडफाइल'] (https://msdn.microsoft.com/en-us/library/aa365467) कार्यान्वयन टूट गया कंसोल से पढ़ने पर अंतिम त्रुटि को 'ERROR_OPERATION_ABORTED' पर सेट करने के लिए इसका एपीआई अनुबंध Ctrl + C द्वारा बाधित होता है। इसके बिना, पायथन का आरईपीएल सोचता है कि पढ़ना सफलतापूर्वक 0 बाइट्स लौटा, यानी फ़ाइल का अंत, और बाहर निकलता है। 3.6 यूनिकोड का बेहतर समर्थन करने के लिए 'ReadConsoleW' को कॉल करने के लिए स्विच किया गया, और यह फ़ंक्शन Ctrl + C द्वारा बाधित पढ़ने के लिए उचित त्रुटि सेट करता है। – eryksun

+1

'रीडफाइल' ईओएफ लौटाता है यदि कंसोल से बफर पढ़ा जाता है तो Ctrl + Z के साथ शुरू होता है, लेकिन यह एक पका हुआ पढ़ा जाता है ताकि आपको पढ़ने को पूरा करने के लिए एंटर दबाएं। ['ReadConsole'] (https://msdn.microsoft.com/en-us/library/ms684958) इस हैक को लागू नहीं करता है, इसलिए 3.6 में पायथन का आरईपीएल इसे अपने आप लागू करता है। लेकिन चूंकि यह 'रीड कंसोल' का उपयोग कर रहा है, मुझे लगता है कि इसे यूनिक्स टर्मिनल के समान तत्काल Ctrl + D का समर्थन करने के लिए 'pInputControl' पैरामीटर का भी उपयोग करना चाहिए। – eryksun

+1

'निकास' और 'छोड़ने'' साइट' मॉड्यूल द्वारा प्रदान किए जाते हैं। वे उपलब्ध नहीं हैं यदि आप '-S' विकल्प के साथ पायथन चलाते हैं जो' साइट 'आयात करने से रोकता है। वे आरईपीएल के लिए एक सुविधा हैं। इसके बजाय एक स्क्रिप्ट को 'sys.exit ([exit_code]) पर भरोसा करना चाहिए या' SystemExit ([exit_code]) बढ़ाएं। – eryksun

0

आप बस टाइप कर सकते हैं "छोड़ने()" और उसके किया है!
CTRL + सी एक चल रही स्क्रिप्ट को बाधित करेगा; लेकिन आप केवल दुभाषिया छोड़ना चाहते हैं। तो छोड़ें() फ़ंक्शन आपके लिए काम करेगा।

संबंधित मुद्दे