以编程方式检查驱动器字母是否为共享/网络驱动器

10 投票
1 回答
3062 浏览
提问于 2025-04-15 22:12

有没有办法在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 个回答

13

win32file模块里的GetDriveType函数可能对你有帮助——它是一个封装了GetDriveType WINAPI函数的工具。

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

你可以使用win32api模块中的GetLogicalDriveStrings()函数来列出所有的驱动器,然后用一个循环来筛选出网络驱动器。

撰写回答