2010-09-12 12 views
9

मान लें कि मेरे पास एक पाइथन स्क्रिप्ट a.py /A/B/a.py है, और यह पाथ पर्यावरण चर में है। वर्तमान कार्यशील निर्देशिका/एक्स/वाई/है, और यह वह निर्देशिका है जहां मैं /A/B/a.py को कॉल करता हूं।निर्देशिका को कैसे जानें जहां पायथन लिपि कहा जाता है?

  • a.py में, एक्स/वाई/कैसे पता लगाएं? मेरा मतलब है, कैसे पता चलेगा कि पाइथन कॉल किस निर्देशिका में बनाई गई है?
+0

निर्देशिका जिसमें अजगर कॉल किया जाता है स्वचालित रूप से कार्यशील निर्देशिका है। – leoluk

उत्तर

15

आप के साथ वर्तमान कार्यशील निर्देशिका प्राप्त कर सकते हैं:

os.getcwd() 
+4

आपको पोर्टेबिलिटी कारणों के लिए 'getcwdu()' का उपयोग करना चाहिए। – Philipp

+1

फ़ंक्शन ['getcwdu'] (https://docs.python.org/2/library/os.html#os.getcwdu) पायथन 2 में एक यूनिकोड स्ट्रिंग देता है। [' Getcwd'] (https: // docs Pypyon 3 में .python.org/3/लाइब्रेरी/os.html # os.getcwd) एक यूनिकोड स्ट्रिंग देता है। ['getcwdb'] (https://docs.python.org/3/library/os.html#os.getcwdb) पायथन 3 में एक बाइटस्ट्रिंग देता है। पाइथन 3 में कोई 'getcwdu' नहीं है। –

4
>> os.getcwd() 
/X/Y 
>> os.path.dirname(os.path.realpath(__file__)) # cannot be called interactively 
/A/B 
>> sys.path[0] 
/A/B 
>> os.path.abspath(sys.argv[0]) 
/A/B/a.py 
+0

जो आपको देता है '/ ए/बी' निर्देशिका,' a.py' का स्थान। –

+0

इसका मतलब यह नहीं था कि कल से उसका प्रश्न देखें (http://stackoverflow.com/questions/3691921/how-to-now-the-path-the-script-the-python-run)। – AndiDog

+0

@ राडोमिर - मैंने सोचा था कि .py फ़ाइल मौजूद है, जहां ओपी चाहता था। आपकी टिप्पणी ने मुझे ओपी के प्रश्न को दोबारा पढ़ा, और देखा कि यह मामला नहीं है। –

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