पावरशेल में सीधे पायथन स्क्रिप्ट चलाएं


22

मैं Windows PowerShell का उपयोग कर रहा हूं। मान लीजिए कि मेरे पास एक स्क्रिप्ट है test.pyजो कुछ चीजों को प्रिंट करती है। यदि मैं करता हूँ:

PS D:\>.\test.py

फिर यह एक सीएमडी विंडो खोलता है जो कुछ चीजों को प्रिंट करता है और फिर बंद हो जाता है। यह वास्तव में CMD के तहत पायथन दुभाषिया चल रहा है। यदि मैं करता हूँ

PS D:\>python test.py

यह ऐसा काम करता है जैसे मैं इसकी उम्मीद करता हूं कि पावरशेल में आउटपुट दिखाई दे।

मैं इसे कैसे बना सकता हूं ताकि स्क्रिप्ट पावरशेल में चलेगी जब मैं सिर्फ अपना नाम दूंगा?


एक बार जब आप PATHEXTzdan के स्वीकृत उत्तर का उपयोग करके अपने चर को अपडेट कर लेते हैं, यदि आप अपने PATHपर्यावरण चर द्वारा नामित निर्देशिका में पायथन स्क्रिप्ट डालते हैं, तो उन्हें चलाने के लिए पूरी तरह से योग्य (या रिश्तेदार) पथ की आपूर्ति करने की आवश्यकता नहीं होगी। फिर पायथन स्क्रिप्ट किसी भी अन्य स्थापित प्रोग्राम की तरह व्यवहार करती है, और आप उन्हें अन्य कार्यक्रमों / cmdlets ( जैसे ) के साथ पाइपलाइनों में एक साथ शामिल कर सकते हैं , और यह सब अन्य अच्छाई। get-clipboard | myscript.py:)
TheDudeAbides

जवाबों:


24

PATHEXT पर्यावरण चर को संपादित करें और .py एक्सटेंशन जोड़ें।

बस इस लाइन को अपने PowerShell प्रोफ़ाइल में जोड़ें :

$env:PATHEXT += ";.py"

या आप सिस्टम सेटिंग्स में विश्व स्तर पर केवल संपादित कर सकते हैं (केवल "वातावरण के लिए प्रारंभ मेनू में खोजें" और "अपने खाते के लिए पर्यावरण चर संपादित करें" के लिए विकल्प चुनें)।


-1

आपके पास पायथन का एक से अधिक संस्करण स्थापित हो सकता है और IDLE का उपयोग करने वाला संस्करण नया है। आपके पास अजगर के किस संस्करण को देखने के लिए आप कमांड लाइन पर python -V टाइप कर सकते हैं। यदि वह संस्करण उचित लगता है, तो आपको दूसरे पैरामीटर के रूप में फ़ाइल के लिए पूर्ण पथ की आवश्यकता हो सकती है। जैसे> अजगर सी: \ myfile.py।

यदि आपने पायथन को सही ढंग से स्थापित किया है, तो हमेशा एक मौका होता है कि बस स्क्रिप्ट का नाम टाइप करने से यह अजगर के साथ चलेगा। उदा> myfile.py

मुझे हमेशा लगता है कि C: \ Python27 को% PATH% वैरिएबल में जोड़ना। और PATHEXT% वैरिएबल पर% चलना स्क्रिप्ट को आसान बनाता है। इस मामले में बस> मायफाइल को काम करना चाहिए।

अपडेट के बाद संपादित करें:

बस> अजगर को बिना किसी पैरामीटर के टाइप करने से 'इंटरेक्टिव मोड' में अजगर खुल जाता है जो बैच या स्क्रिप्टिंग मोड से अलग होता है जो आपकी स्क्रिप्ट के लिए है। यदि तर्कों के साथ निष्पादित किया जाता है तो पहला तर्क फ़ाइल पथ के रूप में लिया जाता है और आगे की लिपि को sys.argif सूची में स्क्रिप्ट में पास किया जाता है।


आप कहीं से अपना उत्तर कॉपी और पेस्ट क्यों करते हैं? तुम भी ठीक से स्वरूपण की प्रतिलिपि बनाना भूल गए थे, और वहां कोई "अपडेट" नहीं था।
slhck
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.