python - पायथन में कोड से बाहर निकलें




exit-code (8)

मैं sys.exit () का उपयोग करने के बजाय बाहर निकलने वाले (0) के साथ एक साफ शटडाउन की अनुशंसा करता हूं

मुझे यकीन नहीं है कि यह अच्छी सलाह है या नहीं।

उल्लेख किया गया बहुत ही दस्तावेज पढ़ता है:

साइट मॉड्यूल (जिसे स्टार्टअप के दौरान स्वचालित रूप से आयात किया जाता है, सिवाय इसके कि -एस कमांड-लाइन विकल्प दिया गया है) अंतर्निहित नामस्थान में कई स्थिरांक जोड़ता है। वे इंटरैक्टिव दुभाषिया खोल के लिए उपयोगी हैं और कार्यक्रमों में उपयोग नहीं किया जाना चाहिए

फिर:

निकास (कोड = कोई नहीं)

ऑब्जेक्ट्स जो मुद्रित होते हैं, "बाहर निकलने के लिए छोड़ें () या Ctrl-D (यानी ईओएफ) का उपयोग करें जैसे संदेश प्रिंट करें, और जब कॉल किया जाता है, तो निर्दिष्ट एक्ज़िट कोड के साथ SystemExit बढ़ाएं।

यदि हम इसे sys.exit() दस्तावेज़ीकरण से तुलना करते हैं, तो यह उसी तंत्र का उपयोग कर रहा है जो SystemExit अपवाद उठा SystemExit है।

मुझे एक संदेश मिला है कि script xyz.py returned exit code 0 । इसका क्या मतलब है?

पायथन में निकास कोड का क्या अर्थ है? कितने हैं? कौन सा महत्वपूर्ण हैं?


0 से बाहर निकलने के कोड आमतौर पर मतलब है, "यहां कुछ भी गलत नहीं है।" हालांकि यदि स्क्रिप्ट के प्रोग्रामर ने सम्मेलन का पालन नहीं किया है तो आपको इसका अर्थ देखने के लिए स्रोत से परामर्श करना पड़ सकता है। आम तौर पर एक गैर-शून्य मान एक त्रुटि कोड के रूप में वापस किया जाता है।


आप स्क्रिप्ट में जो खोज रहे हैं वह sys.exit() कॉल है। उस विधि का तर्क पर्यावरण से बाहर निकलने के कोड के रूप में वापस कर दिया जाता है।

यह काफी संभावना है कि स्क्रिप्ट कभी बाहर निकलने की विधि को कॉल नहीं कर रही है, और वह 0 डिफ़ॉल्ट निकास कोड है।


एक errno मॉड्यूल है जो मानक निकास कोड को परिभाषित करता है:

उदाहरण के लिए, अनुमति अस्वीकार त्रुटि कोड 13 है :

import errno, sys

if can_access_resource():
    do_something()
else:
    sys.exit(errno.EACCES)

कई प्रोग्रामिंग भाषाओं में बाहर निकलने वाले कोड प्रोग्रामर तक हैं। तो आपको अपने प्रोग्राम स्रोत कोड (या मैन्युअल) को देखना होगा। शून्य का आमतौर पर मतलब है "सब ठीक हो गया"।


जवाब यह है कि "क्या निकास कोड शून्य का मतलब है"

हालांकि, ज्यादातर मामलों में, इसका मतलब है "सब कुछ ठीक है"

मुझे पॉज़िक्स पसंद है:

तो, खोल पर, मैं टाइप करूंगा:

python script.py && echo 'OK' || echo 'Not OK'

अगर मेरी पायथन स्क्रिप्ट sys.exit(0) को कॉल करता है तो खोल 'ठीक'

अगर मेरी पायथन स्क्रिप्ट sys.exit(1) (या कोई गैर-शून्य पूर्णांक) कहती है, तो खोल 'ठीक नहीं है'

खोल के साथ चतुराई पाने के लिए यह आपका काम है, और बाहर निकलने के लिए क्या है यह देखने के लिए अपनी स्क्रिप्ट के लिए प्रलेखन (या स्रोत) पढ़ें।


यदि आप मानक POSIX निकास कोड का exitstatus उपयोग करना चाहते हैं, तो exitstatus पर एक्स्टास्टैटस पैकेज देखें।

पैकेज स्थापित करें:

pip install exitstatus

अपने कोड में प्रयोग करें:

import sys
from exitstatus import ExitStatus

sys.exit(ExitStatus.success)

रिकॉर्ड के लिए, आप here परिभाषित POSIX मानक निकास कोड का उपयोग कर सकते here

उदाहरण:

import sys, os

try:
    config()
except:
    sys.exit(os.EX_CONFIG) 
try:
    do_stuff()
except:
    sys.exit(os.EX_SOFTWARE)
sys.exit(os.EX_OK) # code 0, all ok




exit-code