使用Python查询连接到Windows的USB设备

时间:2019-06-20 16:47:31

标签: python windows cmd

对于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。

1 个答案:

答案 0 :(得分:0)

没有意识到他们被称为云端硬盘,想通了,找到了正确的答案。

您可以简单地使用:

import win32com.client

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

,它将这样输出答案:

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

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