【问题标题】:Query USB devices connected to Windows using Python使用 Python 查询连接到 Windows 的 USB 设备
【发布时间】:2019-06-20 16:47:31
【问题描述】:

对于 C#、C++、python、ubuntu 等有很多答案,但这是 Windows 和 python 的首选(或者简单地通过 python 调用子进程)

我有这段代码可以在 Ubuntu 上运行,但现在我想切换到 Windows:

rpistr = "ls /media/pi > usbs.txt"
p=subprocess.Popen(rpistr,shell=True, preexec_fn=os.setsid)
array = []
with open("usbs.txt", "r") as f:
    for line in f:
        array.append(line.strip())

我想检查连接的端口,并列出 USB 的目录。

例如,假设我有C:\D:\,但是现在我插入了一个新的USB,例如F:\ - 我想找出路径F:\ 现在是可供我使用,并且能够复制文件。

典型流程:

  • 获取所有位置
  • 确认有新位置 F:\ 可用
  • 使用复制文件 shutil.copy2

那么我如何确定哪个端口(?)刚刚插入FGH 等?我计划在无限循环中运行它,这就是为什么我需要确定插入新 USB 的时间和位置。

【问题讨论】:

    标签: python windows cmd


    【解决方案1】:

    没有意识到他们被称为 Drives,想通了并找到了正确的答案。

    你可以简单地使用:

    import win32com.client
    
    drives = win32api.GetLogicalDriveStrings()
    drives = drives.split('\000')[:-1]
    print(drives)
    

    它会这样输出答案:

    ['C:\\', 'D:\\', 'E:\\', 'F:\\']
    

    只需调用drives[x]x 作为索引,将返回示例驱动器为X:\,它与shutil 完美配合。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-06
      • 2020-03-10
      相关资源
      最近更新 更多