2011-11-18 28 views
5

Nếu tôi giải nén tệp Zip bằng thư viện ZipFile của Python, nơi tệp được tạo trên Windows, nhưng mã của tôi đang chạy trên Unix, thì trình tách đường dẫn có luôn là kiểu Unix không?Python ZipFile đường phân cách

+0

Có vẻ như nó đã được kể từ khi nó không được lưu trữ như là một chuỗi. Tôi chắc chắn hy vọng như vậy :) – fncomp

+2

Bạn sẽ hy vọng như vậy! Nhưng khi bạn đang đối phó với máy tính, hy vọng không có gì để làm với bất cứ điều gì ... – Joe

Trả lời

14

Trong nội bộ, ZipFile lưu các dấu gạch chéo về phía trước theo yêu cầu của zip file specification.

Bên ngoài, chúng được dịch bằng cách sử dụng os.sep để nó sẽ khớp với thông thường được mong đợi trên một nền tảng nhất định.

tài liệu tham khảo Code:

+0

Cảm ơn bạn! Tôi cho rằng điều này là đúng nhưng thật tốt khi có bằng chứng. – Joe

+2

Lưu ý rằng chuyển đổi này chỉ được áp dụng khi tạo một mục trong kho lưu trữ ZIP. Khi truy cập các thành viên hiện có (ví dụ: với các dấu gạch chéo 'zip_file.read ('dir/file.txt')') phải luôn được sử dụng. – Feuermurmel

+1

+1 cho liên kết đến thông số tệp zip. Cảm ơn!!! Đây là phần có liên quan: 4.4.17 tên tệp: (Biến) 4.4.17.1 Tên của tệp, với đường dẫn tương đối tùy chọn. Đường dẫn được lưu PHẢI không chứa ổ đĩa hoặc chữ cái thiết bị hoặc dấu gạch chéo hàng đầu. Tất cả các dấu gạch chéo PHẢI chuyển tiếp dấu gạch chéo '/' trái ngược với dấu gạch chéo ngược '\' để tương thích với Amiga và hệ thống tệp UNIX v.v. Nếu đầu vào đến từ đầu vào tiêu chuẩn , không có trường tên tệp. –

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