2010-04-30 18 views
10

मैंने थोड़ी देर की खोज की लेकिन मुझे कुछ भी नहीं मिला जिसने मेरी मदद की। क्या यह जांचने का कोई तरीका है कि ड्राइव ड्राइव को साझा ड्राइव/नेटवर्क ड्राइव या पाइथन में स्थानीय डिस्क के लिए खड़ा है या नहीं? मुझे लगता है कि कुछ विंडोज एपीआई फ़ंक्शन हैं जो मुझे वह जानकारी देता है, लेकिन मुझे यह नहीं मिल रहा है। शायद पाइथन में पहले से ही एक विधि भी एकीकृत है?प्रोग्रामिक रूप से जांचें कि ड्राइव ड्राइव एक साझा/नेटवर्क ड्राइव

मैं क्या देख रहा हूँ इस या इसी तरह के व्यवहार के साथ कुछ है:

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

जो मुझे मदद मिलेगी और साथ ही:

someMagicMethod2() #outputs list of shared drive letters 

धन्यवाद एक बहुत पहले से!

उत्तर

11

GetDriveTypewin32file मॉड्यूल में फ़ंक्शन आपको मदद कर सकता है - यह GetDriveType WINAPI फ़ंक्शन के लिए एक रैपर है।

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

आप win32api मॉड्यूल में GetLogicalDriveStrings() समारोह के साथ सभी की गणना करने में है, तो एक पाश का उपयोग केवल नेटवर्क ड्राइव बाहर लेने के लिए सक्षम होगा।

+0

महान जो मैं खोज रहा था! आपका बहुत बहुत धन्यवाद! –

संबंधित मुद्दे