2012-06-15 5 views
5

मैं C:Y: को मैंने कोशिश से वर्तमान निर्देशिका बदलने के लिए कोशिश कर रहा हूँ:मैं पाइथन ओएस का उपयोग कर ड्राइव कैसे बदल सकता हूं?

import os 
os.chdir('Y:') 

लेकिन मैं कह रही है कि यह ड्राइव नहीं ढूँढ पा रहा एक त्रुटि मिलती रहती है। अनिवार्य रूप से मैं cmd ​​में

cd /d 

आदेश के बराबर की तलाश में हूँ।

+3

आपको एहसास है कि "वर्तमान निर्देशिका को सी से: वाई में बदलें:" वास्तव में विंडोज में कुछ भी नहीं है? एक मौजूदा डिफ़ॉल्ट ड्राइव है, और प्रत्येक ड्राइव के लिए एक अलग वर्तमान निर्देशिका है। तो, आप वर्तमान ड्राइव को वाई: में बदल सकते हैं, या आप वर्तमान ड्राइव को वाई में बदल सकते हैं: और उस पर निर्देशिका को \ \ में बदल सकते हैं, लेकिन वे अलग-अलग ऑपरेशन हैं। (सी एपीआई स्तर पर यह _chdrive (25) बनाम _chdir ("वाई: \\") है, और यह शायद पाइथन में समान है, सिवाय इसके कि chdrive शायद os में मौजूद नहीं है और आपको msvcrt, या यहां तक ​​कि जाना है वास्तविक एमएसवीसीआरटी डीएलएल ctypes।) – abarnert

+0

मुझे वाई से मेरा कनेक्शन महसूस हुआ: किसी भी तरह से बाधित हो गया था, लेकिन एक बार जब मैंने इसे हल किया तो chdir ('Y:') ठीक काम करता था। किसी भी मामले में मदद के लिए धन्यवाद। – aensm

उत्तर

7

क्या आप वाकई Y: वास्तव में एक मान्य ड्राइव अक्षर है?

os.chdir('C:') आज़माएं और सुनिश्चित करें कि यह काम करता है। (यह मेरे लिए काम करता है।)

+1

मेरे लिए भी ठीक काम करता है और "केस" – jdi

+0

पर कोई परवाह नहीं करता है मेरे पास एक वाई: ड्राइव है और मैं इसे "सीडी/डी वाई:" – aensm

+1

@aensm का उपयोग करके एक्सेस करने में सक्षम हूं: यहां तक ​​कि यदि 'os.chdir (' वाई: ')' काम किया, यह एक "सीडी/डी वाई:" के रूप में एक ही काम नहीं करता है। @ Abarnert की टिप्पणी देखें। – martineau

1

यदि यह एक मैप किए गए नेटवर्क ड्राइव है, तो आपकी सबसे अच्छी शर्त मैप किए गए पथ के बजाय यूएनसी पथ का उपयोग करना है। इसके अलावा, यदि आप os.path.join का उपयोग नहीं कर रहे हैं, तो विंडोज़ के पथों का उपयोग करते समय कच्चे r स्ट्रिंग संशोधक का उपयोग करने का प्रयास करें।

import os 
print os.getcwd() 
os.chdir(r'\\server\path') 
print os.getcwd() 
+1

आपका समाधान ठीक काम करता है। अगर कोई यूएनसी पथ सीधे खुले में उपयोग करना चाहता है, तो पढ़ें, लिखें। यहां दिखाए गए अनुसार स्ट्रिंग कच्चे बनाओ। यह एक आकर्षण की तरह काम करता है। धन्यवाद – bicepjai

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