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

Есть ли способ проверить, означает ли буква диска общий диск / сетевой диск или локальный диск в 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 модуль, затем используйте цикл, чтобы выбрать только сетевые диски.

Другие вопросы по тегам