You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows环境下Python如何获取当前已连接且正常工作的驱动器列表

Windows环境Python获取正常可用驱动器列表实现方案

你当前使用的win32api.GetLogicalDriveStrings()只能枚举系统注册的所有逻辑盘符,不会校验盘符对应的存储设备是否正常挂载、可访问,要过滤出正常工作的驱动器,只需要在原有代码基础上增加盘符有效性校验即可。

完整实现代码

import win32api

def get_available_drives():
    # 先获取所有逻辑盘符列表
    all_drives = win32api.GetLogicalDriveStrings().split('\000')[:-1]
    available_drives = []
    for drive in all_drives:
        try:
            # 尝试读取驱动器卷信息,能正常读取说明设备处于可用状态
            win32api.GetVolumeInformation(drive)
            available_drives.append(drive)
        except win32api.error:
            # 抛出异常说明驱动器不可用(空光驱、未插入的读卡器、已弹出的U盘等)
            continue
    return available_drives

# 调用示例(Python3运行需给print加括号)
print get_available_drives()

方案说明

  • 核心逻辑是通过调用win32api.GetVolumeInformation()尝试读取驱动器的卷标等信息,如果调用没有抛出异常,就代表这个驱动器当前处于可正常访问的工作状态
  • 异常捕获会自动过滤掉有盘符但无对应有效设备的情况,包括空的光盘驱动器、未插卡的读卡器、已经弹出但盘符未回收的移动存储设备等
  • 如果你需要额外筛选特定类型的驱动器,可以在遍历中追加win32api.GetDriveType(drive)的返回值判断:
    • 返回值为2:可移动磁盘(U盘、移动硬盘等)
    • 返回值为3:本地硬盘
    • 返回值为5:光盘驱动器

内容的提问来源于stack exchange,提问作者Natejoestev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.15 13:06:00