Программно проверить, является ли буква диска общим / сетевым диском
Есть ли способ проверить, означает ли буква диска общий диск / сетевой диск или локальный диск в 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 ответ
Решение
GetDriveType
функция в win32file
Модуль может вам помочь - это оболочка для функции GetDriveType WINAPI.
import win32file
isNetworkDrive = win32file.GetDriveType("Z:\\") == win32file.DRIVE_REMOTE
Вы могли бы перечислить все с GetLogicalDriveStrings()
функция в win32api
модуль, затем используйте цикл, чтобы выбрать только сетевые диски.