2012-12-19 10 views
6

Potrzebuję umieścić wiele ścieżek w postaci ciągów w Pythonie jako część mojego programu. Na przykład jeden z moich katalogów to D:\ful_automate\dl. Jednak Python rozpoznaje niektóre postacie razem jako inne postacie i popełnia błąd. W tym przykładzie błąd to IOError: [Errno 22] invalid mode ('wb') or filename: 'D:\x0cul_automate\\dl. Zdarza się to dla mnie i za każdym razem muszę zmienić nazwę katalogu na taką, która może nie być problematyczna.Ścieżki do plików w Pythonie w postaci błędów ciągu znaków

Odpowiedz

14

Znak \ służy do tworzenia znaków ucieczki; \f ma specjalne znaczenie.

Użyj zamiast tego / lub użyj nieprzetworzonego ciągu znaków r''. Ewentualnie możesz upewnić się, że Python odczytuje ukośnik odwrotny jako odwrotny ukośnik, uciekając go z dodatkowym \.

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

Demo, aby pokazać różnicę:

>>> 'D:\ful_automate\dl' 
'D:\x0cul_automate\\dl' 
>>> r'D:\ful_automate\dl' 
'D:\\ful_automate\\dl' 
1

Używaj surowy ciąg zamiast sznurka tj użytku r'filepath” To rozwiązuje problem off blacklash "\"

Powiązane problemy