मैं पाइथन के लिए नया हूं इसलिए मैं इस बारे में पूरी तरह से गलत हो रहा हूं, लेकिन मुझे फ़ाइल की निर्देशिका में समस्याएं बदलने और बदलने में समस्याएं आ रही हैं। मेरी स्क्रिप्ट कई फ़ाइल नामों में लेती है जो किसी भी निर्देशिका में हो सकती हैं। मेरी स्क्रिप्ट में मुझे फ़ाइल की निर्देशिका में बदलने के लिए पायथन की आवश्यकता है और फिर कुछ क्रियाएं करें। हालांकि, मुझे निर्देशिका बदलने में समस्याएं आ रही हैं।स्वरूपण फ़ाइल पथ
यहाँ मैं अब तक की कोशिश की है है:
path=os.path.split(<file path>)
os.chdir(path[0])
<Do things to file specified by path[1]>
तरह से मैं फ़ाइल पथ हो रही किया गया है अन्वेषक से कमांड लाइन में खींचकर है। यह पथ नाम को "C:\foo\bar\file_name.txt"
जैसा कुछ दर्ज करता है। जब मैं दुभाषिया में पहली पंक्ति चलाता हूं तो मुझे ('C:\\foo\bar','file_name.txt')
मिलता है। समस्या यह है कि किसी कारण से अंतिम बैकस्लैश स्वचालित रूप से बच नहीं जाता है, इसलिए जब मैं os.chdir(path[0])
लाइन चलाता हूं तो मुझे त्रुटियां मिलती हैं।
मेरा सवाल यह है कि अंतिम बैकस्लैश स्वचालित रूप से दूसरों की तरह क्यों नहीं निकल रहा है? मैं आखिरी बैकस्लैश से मैन्युअल रूप से कैसे बच सकता हूं? क्या फाइल की निर्देशिका पाने और इसमें बदलने का कोई बेहतर तरीका है?
कमांड प्रॉम्प्ट पर चीजों को चलाने के लिए पाइथन से बाहर खोलने के लिए यह थोड़ा असामान्य (हालांकि हमेशा गलत नहीं) है। "कुछ क्रियाएं" क्या हैं? शायद वे सीधे पाइथन में ही किया जा सकता है। – Gerrat
मुझे नहीं लगता कि रोहोल्कोकेके पायथन शेल से बाहर निकल रहा है; जैसा कि मैंने हाल ही में देखा है, आप खोल के दौरान पथ प्राप्त करने के लिए अभी भी कंसोल विंडो में फ़ाइलों को खींच सकते हैं। बेशक अगर आपको खोल के बाहर कुछ करना पड़ता है, अगर यह केवल एक ही क्रिया है, तो आप केवल 'os.system() 'का उपयोग कर सकते हैं। और यहां तक कि यदि यह कई क्रियाएं हैं, यदि यह अक्सर दोहराया जाता है, तो आप बैच फ़ाइल भी लिख सकते हैं और 'os.system() 'का उपयोग कर कॉल कर सकते हैं। निश्चित रूप से इसमें से कोई भी राहोल्कोकेल्के के बारे में पूछने के साथ नहीं करना है। – JAB