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