2012-12-19 39 views
6

Tôi cần đặt nhiều filepaths dưới dạng chuỗi trong Python như một phần của chương trình của tôi. Ví dụ một trong các thư mục của tôi là D:\ful_automate\dl. Nhưng Python nhận ra một số nhân vật với nhau như các nhân vật khác và ném một lỗi. Trong ví dụ, lỗi là IOError: [Errno 22] invalid mode ('wb') or filename: 'D:\x0cul_automate\\dl. Nó xảy ra rất nhiều cho tôi và mỗi lần tôi cần thay đổi tên thư mục thành một cái có thể không có vấn đề.Đường dẫn tệp bằng Python dưới dạng lỗi ném chuỗi

Trả lời

14

Ký tự \ được sử dụng để tạo ký tự thoát; \f có ý nghĩa đặc biệt.

Sử dụng / hoặc sử dụng chuỗi thô r'' để thay thế. Ngoài ra, bạn có thể đảm bảo rằng Python đọc dấu gạch chéo ngược dưới dạng dấu gạch chéo ngược bằng cách thoát nó bằng một số \ bổ sung.

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

Demo để thấy sự khác biệt:

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

Sử dụng chuỗi nguyên thay vì chuỗi tức là sử dụng r'filepath' Nó sửa chữa vấn đề tắt blacklash "\"

Các vấn đề liên quan