2009-04-14 16 views
80

असल में मैं पाइथन दुभाषिया का एक संभाल प्राप्त करना चाहता हूं ताकि मैं निष्पादित करने के लिए एक स्क्रिप्ट फ़ाइल पास कर सकूं (बाहरी एप्लिकेशन से)।python.exe स्थान प्रोग्रामेटिक रूप से कैसे प्राप्त करें?

+3

@Bhargav राव से यह अनुमान है: कैसे इस सवाल है, जो 1 साल प्रश्न _before_ कहा गया था कि यह, का डुप्लिकेट हो इसके बारे में एक नकली माना जाता है कर सकते हैं? यह दूसरा तरीका है। – mhawke

+0

@mhawke दूसरे के मुकाबले ज्यादा विचार थे और बेहतर शब्द थे। इसलिए मैंने इसे विपरीत दिशा में डुप्लिकेट किया। टीबीएच, उनमें से दोनों एक ही बात कहते हैं, इसलिए हम विलय के लिए भी ध्वजांकित कर सकते हैं। –

+2

@ भार्गवराव: हाँ, यह बेहतर लिखा गया है और शीर्षक शायद इसके लिए ज़िम्मेदार है। इसके अलावा स्वीकृत उत्तर बेहतर है और (अब) दस्तावेज के लिए एक लिंक शामिल है, इसलिए कुल मिलाकर मुझे लगता है कि आप सही हैं। – mhawke

उत्तर

135

यह लिनक्स में शायद काम करता है, शायद विंडोज़ में भी?

>>> import sys 
>>> print sys.executable 
/usr/bin/python 
+2

हाँ - >>> आयात sys | >>> प्रिंट sys.executable | सी: \ Python25 \ pythonw.exe – Smashery

+2

मैक ओएस एक्स पर भी काम करता है। – FogleBird

+2

मुझे लगता है कि एक py2exe संकलित ऐप में, यह ऐप के निष्पादन योग्य को इंगित करेगा, न कि python.exe। किसी को हालांकि पुष्टि करना होगा। – FogleBird

4

मुझे लगता है कि यह इस बात पर निर्भर करता है कि आपने पाइथन कैसे स्थापित किया है। ध्यान दें कि आपके पास पाइथन के कई इंस्टॉल हो सकते हैं, मैं अपनी मशीन पर करता हूं। हालांकि, अगर आप अजगर 2.2 या इसके बाद के संस्करण के एक संस्करण का एक MSI के माध्यम से स्थापित है, मैं यह इसलिए की तरह एक रजिस्ट्री कुंजी बनाता है विश्वास करते हैं:

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ अनुप्रयोग पथ \ Python.exe

जो मेरे मशीन पर यह मान देता है:

C: \ Python25 \ Python.exe

तुम बस स्थान प्राप्त करने के लिए रजिस्ट्री कुंजी पढ़ें।

हालांकि, आप एक एक्सकॉपी के माध्यम से एक एक्सकॉपी के माध्यम से पाइथन स्थापित कर सकते हैं, जिसे आप मनमाने ढंग से रख सकते हैं, और आपको बस यह पता होना चाहिए कि यह कहां स्थापित है।

+0

यदि यह ऐप पथ में है तो आपको उस स्थान को जानने की भी आवश्यकता नहीं है? ;) – Gleb

+8

रजिस्ट्री में देखना वास्तव में बहुत अधिक उपयोग नहीं है, क्योंकि आप नहीं जानते कि आप पाइथन चला रहे हैं कि रजिस्ट्री में से कोई एक बात कर रहा है। – GreenAsJade

30

sys.executable एक एम्बेडेड पायथन पर्यावरण में काम करने पर विश्वसनीय नहीं है। मेरे सुझाव

import os 
os.__file__ 
संबंधित मुद्दे

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