对于 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
那么我如何识别哪个端口(?)刚刚插入F
、G
、H
等?我计划无限循环地运行它,这就是为什么我需要确定新 USB 插入的时间和位置。
最佳答案
没有意识到他们被称为驱动器,弄清楚并找到了正确的答案。
您可以简单地使用:
import win32com.client
drives = win32api.GetLogicalDriveStrings()
drives = drives.split('\000')[:-1]
print(drives)
它会输出这样的答案:
['C:\\', 'D:\\', 'E:\\', 'F:\\']
只需调用 drives[x]
,x
是一个索引,就会将示例驱动器返回为 X:\
,它与shutil
。
关于python - 使用Python查询连接到Windows的USB设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56690568/