मुझे ArcGIS के लिए एक पायथन स्क्रिप्ट मिली है, जिस पर मैं काम कर रहा हूं, और यदि आवश्यक डेटा उपलब्ध नहीं है तो मैं स्क्रिप्ट छोड़ने की क्षमता रखना चाहता हूं। मैंने सीधे sys.exit () की कोशिश की, लेकिन वह आर्कपैक में एक अपवाद देगा जिससे मैं बचना चाहूंगा। मुझे यह थ्रेड मिला जो एक कोशिश ब्लॉक का उपयोग करने का सुझाव देता है, इसलिए मैंने यह फ़ंक्शन बनाया:
def quit_script(message):
log_msg(message) # already defined; writes a message to a file
if log_loc:
output.close() # close the file used with log_msg()
try:
sys.exit()
except SystemExit:
pass
दुर्भाग्य से, यह भी काम नहीं किया। खैर, यह अब आर्कपैक पर वह त्रुटि नहीं करता है, लेकिन यह भी नहीं है, ठीक है, छोड़ दिया। अभी, मेरे पास if / if स्टेटमेंट में मेरे कोड का बल्क है, लेकिन यह बदसूरत है। किसी के पास कोई और सुझाव है?
धन्यवाद! ब्रायन
सिद्धांत रूप में sys.exit (0) एक ऑपरेशन सफलतापूर्वक पूरा हो गया है - देखें msdn.microsoft.com/en-us/library/ms681381.aspx - लेकिन माइकल की तरह मैं आर्कगिस के पास नहीं हूं इसलिए मैं आपको बता नहीं सकता कि यह कैसा है संभाला।
—
om_henners
क्या आपने सिस्टमएक्सिट जुटाने की कोशिश की है? मेरे पास एक पायथन कार्यक्रम है, जिसमें मैंने लिखा है कि अगर मैं कार्यक्षेत्र में सुविधाओं की सूची प्राप्त करने की कोशिश करके इस कथन का उपयोग करता हूं, और यदि यह एक खाली सूची देता है तो अन्य कॉल सिस्टेक्सिट बढ़ाता है (महान काम करता है - मेरे पास बहुत सारे हैं लॉग फ़ाइल आउटपुट और प्रिंटिंग चल रही है, इसलिए मैं बता सकता हूं कि कार्यक्रम से बाहर क्यों हुआ)। शायद ऐसा करने के कई तरीके और शायद इससे भी बेहतर तरीके, लेकिन यह वही करता है जो मैं उम्मीद करता था / मैं चाहता था।
—
सितंबर
क्या आपने इस GSE थ्रेड में उदाहरण देखे हैं gis.stackexchange.com/questions/1015/…