Программно проверить, является ли буква диска общим / сетевым диском - PullRequest
11 голосов
/ 30 апреля 2010

Есть ли способ проверить, означает ли буква диска общий диск / сетевой диск или локальный диск в python? Я предполагаю, что есть некоторая функция Windows API, которая дает мне эту информацию, но я не могу ее найти. Возможно, есть даже метод, уже интегрированный в python?

Я ищу что-то с таким или похожим поведением:

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

Это также помогло бы мне:

someMagicMethod2()  #outputs list of shared drive letters

1 Ответ

12 голосов
/ 30 апреля 2010

Функция GetDriveType в модуле win32file может вам помочь - это оболочка для функции GetDriveType WINAPI.

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

Вы можете перечислить все с помощью функции GetLogicalDriveStrings() в модуле win32api, а затем использовать цикл для выбора только сетевых дисков.

...