दिलचस्प पोस्ट
MySQL: कई तालिकाओं या कई स्तंभों के साथ एक तालिका? एक स्थैतिक पुस्तकालय में वीसी ++ संसाधन नया (std :: nothrow) बनाम। एक प्रयास / पकड़ ब्लॉक के भीतर नया AJAX से जावास्क्रिप्ट और एएसपी का मूल्य प्राप्त करें स्ट्रिंग में अंतर सी # में तरीकों की तुलना करें सी # में ट्री डेटा संरचना फॉर्म फ़ील्ड डिस्प्ले में जमा करें: कोई तत्व नहीं foreach चेकबॉक्स पोस्ट में php jQuery: एक तालिका में पंक्तियों की गिनती संख्या दो अंकों के बीच कम से कम मार्ग की गणना करना क्लाउड फायरस्टोर और फायरबेज रीयलटाइम डाटाबेस के बीच अंतर क्या है? टाइपस्क्रिप्ट में jQuery के प्लगइन का उपयोग करना HTML जावा से पाठ निष्कर्षण subprocess.call सूची का उपयोग कर स्ट्रिंग बनाम का उपयोग कर क्या मैं फ़ॉन्ट भयानक चिह्न के रंग का रंग बदल सकता हूँ?

os.path.dirname (__ फ़ाइल_) खाली देता है

मुझे मौजूदा निर्देशिका का पथ प्राप्त करना है जिसके तहत .py फ़ाइल निष्पादित हो रही है।

कोड के साथ एक साधारण फाइल D:\test.py :

 import os print os.getcwd() print os.path.basename(__file__) print os.path.abspath(__file__) print os.path.dirname(__file__) 

यह वायर्ड है कि आउटपुट है:

 D:\ test.py D:\test.py EMPTY 

मैं getcwd() और path.dirname() से एक ही परिणाम की अपेक्षा कर रहा हूं।

दिया os.path.abspath = os.path.dirname + os.path.basename , क्यों

 os.path.dirname(__file__) 

खाली देता है?

Solutions Collecting From Web of "os.path.dirname (__ फ़ाइल_) खाली देता है"

क्योंकि os.path.abspath = os.path.dirname + os.path.basename नहीं रखता है हम बजाय है

 os.path.dirname(filename) + os.path.basename(filename) == filename 

दोनों dirname() और basename() केवल वर्तमान निर्देशिका में खाते के बिना दिए गए फाइलनाम को घटक में विभाजित करते हैं। यदि आप वर्तमान निर्देशिका पर विचार करना चाहते हैं, तो आपको ऐसा स्पष्ट रूप से करना होगा।

पूर्ण पथ के dirname प्राप्त करने के लिए, उपयोग करें

 os.path.dirname(os.path.abspath(__file__)) 

उस तरह भी इस्तेमाल किया जा सकता है:

 dirname(dirname(abspath(__file__))) 
 print(os.path.join(os.path.dirname(__file__))) 

आप इस तरह से भी इसका इस्तेमाल कर सकते हैं

 os.path.split(os.path.realpath(__file__))[0] 

os.path.realpath(__file__) वर्तमान स्क्रिप्ट के abspath वापसी; os.path.split (abspath) [0] वर्तमान dir वापसी

 import os.path dirname = os.path.dirname(__file__) or '.'