2012-12-19 16 views
6

मुझे अपने प्रोग्राम के हिस्से के रूप में पायथन में तारों के रूप में बहुत सारे फ़ाइलपैथ डालने की आवश्यकता है। उदाहरण के लिए मेरी निर्देशिका में से एक D:\ful_automate\dl है। लेकिन पाइथन कुछ पात्रों को एक साथ अन्य पात्रों के रूप में पहचानता है और एक त्रुटि फेंकता है। उदाहरण में त्रुटि IOError: [Errno 22] invalid mode ('wb') or filename: 'D:\x0cul_automate\\dl है। यह मेरे लिए बहुत कुछ होता है और हर बार मुझे निर्देशिका नाम को उस व्यक्ति में बदलने की ज़रूरत होती है जो समस्याग्रस्त नहीं हो सकती है।स्ट्रिंग थ्रो त्रुटियों के रूप में पायथन में फ़ाइल पथ

उत्तर

14

\ चरित्र चरित्र भागने के लिए उपयोग किया जाता है; \f का विशेष अर्थ है।

/ का उपयोग करें या इसके बजाय कच्चे स्ट्रिंग r'' का उपयोग करें। वैकल्पिक रूप से, आप यह सुनिश्चित कर सकते हैं कि पाइथन बैकस्लैश को अतिरिक्त \ से बचकर बैकस्लैश के रूप में पढ़ता है।

r'D:\ful_automate\dl' 
'D:\\ful_automate\\dl' 
'D:/ful_automate/dl' 

डेमो अंतर दिखाने के लिए:

स्ट्रिंग यानी उपयोग r'filepath ' के बजाय कच्चे स्ट्रिंग
>>> 'D:\ful_automate\dl' 
'D:\x0cul_automate\\dl' 
>>> r'D:\ful_automate\dl' 
'D:\\ful_automate\\dl' 
1

उपयोग यह समस्या दूर blacklash ठीक करता है "\"

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