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

如何用Python获取Windows下名为TOSHIBA的U盘盘符?

Python实现获取Windows下标签为"TOSHIBA"的驱动器盘符

以下几种方法可以实现你需要的功能,等效于给定的PowerShell命令:

方法1:使用wmi库

这是最贴近PowerShell逻辑的实现方式,直接通过WMI查询卷信息:

首先安装依赖库:

pip install wmi

然后编写代码:

import wmi

c = wmi.WMI()
# 遍历所有卷,筛选标签为"TOSHIBA"的项
for volume in c.Win32_Volume():
    if volume.Label == "TOSHIBA":
        drive_letter = volume.DriveLetter
        if drive_letter:  # 排除无盘符的卷
            print(f"找到的盘符: {drive_letter}")
            break
else:
    print("未找到标签为TOSHIBA的驱动器")

方法2:通过subprocess调用PowerShell命令

如果你不想额外安装第三方库,可以直接调用你已经验证有效的PowerShell命令,通过Python解析输出:

import subprocess
import json

# 执行PowerShell命令并将结果转为JSON格式,方便Python解析
ps_command = '$drive=(Get-WmiObject Win32_Volume | Where-Object {$_.Label -eq "TOSHIBA"}).DriveLetter; ConvertTo-Json $drive'
result = subprocess.run(
    ["powershell", "-Command", ps_command],
    capture_output=True,
    text=True,
    check=False
)

if result.returncode == 0:
    drive_letter = json.loads(result.stdout).strip()
    if drive_letter:
        print(f"找到的盘符: {drive_letter}")
    else:
        print("未找到标签为TOSHIBA的驱动器")
else:
    print(f"命令执行出错: {result.stderr}")

方法3:使用win32com.client

通过Windows原生的COM接口访问WMI,依赖pywin32库:

先安装依赖:

pip install pywin32

代码实现:

import win32com.client

wmi_service = win32com.client.GetObject("winmgmts:")
volumes = wmi_service.InstancesOf("Win32_Volume")

for volume in volumes:
    if volume.Label == "TOSHIBA":
        drive_letter = volume.DriveLetter
        if drive_letter:
            print(f"找到的盘符: {drive_letter}")
            break
else:
    print("未找到标签为TOSHIBA的驱动器")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 21:42:11