2009-10-22 15 views
11

पूर्ण पथ का उपयोग किये बिना, मैं अजगर एक निर्देशिका में फ़ाइल कैसे बना सकता हूं?फ़ाइल को एक निर्देशिका कैसे बनाएं?

मुझे एक ऐसा तरीका चाहिए जो विंडोज़ और लिनक्स दोनों के लिए काम करेगा।

धन्यवाद।

उत्तर

23

उपयोग os.pardir (जो हमेशा ".." शायद है)

import os 
fobj = open(os.path.join(os.pardir, "filename"), "w") 
+2

क्या यह विंडोज और लिनक्स दोनों के लिए काम करेगा? – nunos

+0

os.pardir का उपयोग करके यह ओएस के लिए प्रासंगिक मूल निर्देशिका वाक्यविन्यास लेगा जो आपका एप्लिकेशन वर्तमान में चल रहा है। तो हाँ, यह विंडोज और लिनक्स दोनों पर काम करेगा। –

+0

धन्यवाद। यह जल्दी था! – nunos

0

निर्भर करता है कि क्या आप एक यूनिक्स या विंडोज़ वातावरण में काम कर रहे हैं।

पर खिड़कियों:

..\foo.txt 
ओएस की तरह

यूनिक्स पर:

../foo.txt 

क्या आप वाकई ओएस वर्तमान पथ सही ढंग से जब सेट अपने आवेदन की शुरूआत करने की जरूरत है। उपयुक्त पथ लें और बस वहां एक फ़ाइल बनाएं।

+0

os.path.join या os.sep –

+0

पायथन का उपयोग विंडोज़ पर भी आगे स्लैश को समझ जाएगा। – mob

+0

मैं कोई अजगर नहीं हूँ :-) –

7

लोगों को यह एहसास नहीं लगता है, लेकिन पाइथन विंडोज पर भी स्लैश को स्वीकार करने में प्रसन्न हैं। यह सभी प्लेटफार्मों पर ठीक काम करता है:

fobj = open("../filename", "w") 
+1

क्या यह एक आधिकारिक सुविधा है? मुझे इसे प्रलेखन में देखना याद नहीं है, और os.path.join ने हमेशा मुझे यह सोचा कि प्रोग्रामर को पथ विभाजक होने पर '/' पर भरोसा नहीं करना चाहिए ... – EOL

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