2010-04-30 40 views
10

Tôi đã tìm kiếm một thời gian nhưng không tìm thấy gì giúp tôi. Có cách nào để kiểm tra xem một ký tự ổ đĩa là viết tắt của một ổ đĩa chia sẻ/ổ đĩa mạng hoặc một đĩa địa phương trong python? Tôi đoán có một số chức năng api cửa sổ cung cấp cho tôi thông tin đó, nhưng tôi không thể tìm thấy nó. Có lẽ thậm chí có một phương pháp đã được tích hợp trong python?Lập trình kiểm tra xem ký tự ổ đĩa có phải là ổ đĩa mạng/chia sẻ

Những gì tôi đang tìm kiếm là một cái gì đó với điều này hoặc hành vi tương tự:

someMagicMethod("C:\\") #outputs True 'is a local drive' 
someMagicMethod("Z:\\") #outputs False 'is a shared drive' 

Điều đó sẽ giúp tôi cũng như:

someMagicMethod2() #outputs list of shared drive letters 

Cảm ơn rất nhiều trước!

Trả lời

11

Chức năng GetDriveType trong mô-đun win32file có thể giúp bạn - đó là trình bao bọc cho hàm GetDriveType WINAPI.

import win32file 
isNetworkDrive = win32file.GetDriveType("Z:\\") == win32file.DRIVE_REMOTE 

Bạn sẽ có thể liệt kê tất cả với GetLogicalDriveStrings() chức năng trong module win32api, sau đó sử dụng một vòng lặp để chọn ra chỉ có ổ đĩa mạng.

+0

Điều đó thật tuyệt với những gì tôi đang tìm kiếm! Cảm ơn rất nhiều! –

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