2012-01-04 14 views
6

मैं पाइथन और बैश दोनों के लिए अपेक्षाकृत नया हूं। हालांकि, मुझे पाइथन को बैश की तुलना में अधिक सहज और आसान लगता है। मेरे पास कुछ बैश स्क्रिप्ट हैं जिन्हें मैंने एक साथ जोड़ने में कामयाब रहा है, लेकिन मैं उन्हें पाइथन स्क्रिप्ट्स के साथ प्रतिस्थापित करना चाहता हूं - रखरखाव इत्यादि के लिएकिसी अन्य पायथन स्क्रिप्ट से एक पायथन स्क्रिप्ट कैसे चलाएं और लौटा स्टेटस कोड प्राप्त करें?

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

एक बात मुझे यकीन नहीं है कि कैसे करना है, यह है कि एक अन्य पायथन स्क्रिप्ट से एक पायथन स्क्रिप्ट कैसे चलाएं और लौटा स्टेटस कोड प्राप्त करें।

क्या कोई यहां स्निपेट पोस्ट कर सकता है जो दिखाएगा कि एक मुख्य पायथन स्क्रिप्ट 'test.py' को एक मुख्य पायथन स्क्रिप्ट 'master.py' से कैसे चलाया जाए और master.py से test.py चलाने के बाद सही कोड पुनर्प्राप्त करें ?

+2

आप हमेशा एक और पायथन प्रोग्राम आयात कर सकते हैं (यानी: आपके चलने वाले कोड के रूप में उसी निर्देशिका में 'test.py' रखना और कॉलिंग: आयात परीक्षण) आसानी से माध्यमिक कोड चलाने के लिए, लेकिन यह आपके रिटर्न कोड को प्रबंधित नहीं करेगा व्यापार –

उत्तर

6

subprocess मॉड्यूल

master.py

import subprocess 
retcode = subprocess.call(["/usr/bin/python", "/path/to/test.py"]) 
print "Return code of test.py is ", retcode 
+0

शानदार! यही वह चीज है जिसकी मुझे जरूरत थी। –

0

का उपयोग करते हुए मैं अजगर में उपप्रक्रिया मॉड्यूल को देखने के लिए आप सुझाव है। आप इसका उपयोग करके एक और प्रक्रिया शुरू कर सकते हैं, अपनी धाराओं में हेरफेर कर सकते हैं और रिटर्न कोड प्राप्त कर सकते हैं।

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