ArcMap की पायथन विंडो में निष्पादन स्क्रिप्ट?


10

मैं अपने टेक्स्ट एडिटर में पायथन लिख रहा हूं इसलिए मेरे पास एक पायथन स्क्रिप्ट, स्क्रिप्टहोम है। मैं अभी भी इसे विकसित कर रहा हूं इसलिए इसे अभी तक अपने टूलबॉक्स में नहीं डालना चाहता हूं, और फिलहाल इसका मतलब है कि इसे अपने टेक्स्ट एडिटर से लेकर आर्कगिस डेस्कटॉप में पायथन विंडो में कॉपी करना और पेस्ट करना है।

क्या कोई कमांड है जो मुझे आर्कगिस पायथन विंडो से कॉल करने देता है?

की तर्ज पर कुछ:

run script.py

यह तर्कसंगत लगता है कि इसका अस्तित्व होना चाहिए, लेकिन शायद नहीं।


आप एक टेक्स्ट एडिटर में अपनी स्क्रिप्ट का निर्माण कर रहे हैं? अपने आप को मुक्त pyscripter विचार प्राप्त करें, यह सबसे अच्छी बात है जो आप कभी भी करेंगे!
हॉर्नबड

जवाबों:



4

मैं आपके अनुभव के स्तर के बारे में निश्चित नहीं हूं, लेकिन इससे पहले कि आप बहुत दूर हो जाएं, आप पायथन में कुछ सर्वोत्तम अभ्यास सीखना चाहेंगे। यह अधिक मुहावरेदार, या "होगा pythonic के लिए," modularize में अपने कोड कार्यों / वर्गों , importअपने मॉड्यूल, और एक या अधिक कार्यों कक्षाएं फोन /।

यदि आप परिवर्तन करना चाहते हैं और पहले से आयातित मॉड्यूल का परीक्षण करना चाहते हैं, तो आप reloadअंतर्निहित फ़ंक्शन का उपयोग कर सकते हैं ।

अपनी स्क्रिप्ट की मुख्य प्रक्रिया (आयात, फ़ंक्शन / वर्ग घोषणाओं के अलावा सब कुछ, और शायद कुछ मॉड्यूल-स्तरीय चर घोषणाएं) को स्वचालित रूप से मॉड्यूल आयात करने से चलाने से बचाने के लिए if __name__ == '__main__'चाल का उपयोग करें , और स्क्रिप्ट को सीधे चलाने पर केवल उस तर्क को निष्पादित करें, जैसे। एक कमांड प्रॉम्प्ट या आर्कटूलबॉक्स के माध्यम से।

फिर आप संबंधित वर्गों / कार्यों को कॉल करके अपने मॉड्यूल के विशिष्ट भागों का परीक्षण कर सकते हैं।


1
फिर आपको reload()फ़ंक्शन और मॉड्यूल कैशिंग के सभी उदासीनता से निपटने के लिए और इस तरह के पायथन में। यदि आप पाठ संपादक में कुछ छोटी स्क्रिप्ट लिख रहे हैं, तो यह थोड़ा अधिक है।
जेसन शेखर 23

1
मैं के साथ कोई समस्या नहीं पड़ा है reloadलंबे समय के रूप के रूप में मैं का उपयोग कर से बचने from module import xया from module import *
blah238
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.