2011-08-24 26 views
23

Tôi có một tệp mà tôi muốn sao chép từ thư mục dùng chung trong thư mục dùng chung trên một hệ thống khác, nhưng trên cùng một mạng. Làm cách nào để truy cập thư mục/tệp? Phương thức open() thông thường dường như không hoạt động?Sử dụng Python, làm thế nào tôi có thể truy cập thư mục dùng chung trên mạng Windows?

+5

Nếu bạn có quyền truy cập chính xác, thì tôi nghĩ việc mở thường xuyên sẽ hoạt động ... – Jeremiah

+0

Tôi có thể làm như thế nào ?. Tôi có tên người dùng và mật khẩu cho thư mục được chia sẻ. Mã sẽ là gì? –

Trả lời

37

Sử dụng dấu gạch chéo để xác định UNC Đường dẫn:

open('//HOST/share/path/to/file') 

(nếu mã khách hàng Python của bạn cũng đang chạy hệ điều hành Windows)

+2

Nó hoạt động. cảm ơn bạn. Tôi đã thử dùng dấu gạch chéo ngược. – Neeraj

+2

Điều này chỉ giải quyết được một vấn đề khiến tôi khó chịu, cảm ơn! – Meelah

+0

Điều này chỉ hoạt động trên Windows (có, câu hỏi được gắn thẻ Windows, nhưng việc truy cập máy chủ Windows từ hệ điều hành không phải Windows cũng có thể được gắn thẻ như vậy). Bất kỳ ai quan tâm để thêm giải pháp cho các nền tảng khác (ví dụ: Linux) - nếu có thể không có thứ gì đó giống như Samba? – DavidJ

15

Làm thế nào bạn thử nó? Có thể bạn đang làm việc với \ và bỏ qua thoát thích hợp.

Thay vì

open('\\HOST\share\path\to\file') 

sử dụng một trong hai Johnsyweb của giải pháp với / s, hoặc thử một trong

open(r'\\HOST\share\path\to\file') 

hoặc

open('\\\\HOST\\share\\path\\to\\file') 

.

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