[英]how to obtain physical drives in Windows
我正在用kernel32 dll的包装程序在Python中进行编程,因此我可以使用该dll的任何功能,例如GetLogicalDrives()。 我正在尝试获取物理驱动器的信息, 即使未安装它们也是如此 。 我已经看到类似的问题,但是我需要未安装的驱动器的信息。 我见过的所有方法都需要设备中的目录或文件,但是如果未挂载,则无法安装,因此问题是:
有没有一种方法可以为我提供系统中物理驱动器的列表,即使未安装它们也可以?
我不得不说,使用Windows注册表,我已经在“ HKEY_LOCAL_MACHINE \\ Hardware \\ Devicemap \\ Scsi \\ Scsi Port x ”中获得了物理驱动器的数量,因为在此注册表项中,您可以看到驱动器的数量,包括cd -rom设备或软盘设备。 但是我还需要未安装设备的大小,所以...
使用Tim Golden的wmi模块。 这是食谱条目:
import wmi
w = wmi.WMI()
for drive in w.Win32_LogicalDisk():
print drive.Caption, drive.Size, drive.FreeSpace
版画
C: 99928924160 14214135808 D: None None E: 499983122432 3380903936 S: 737329123328 362274299904 T: 737329123328 9654988800
但是,请注意,我的D:驱动器(未安装DVD驱动器)无可用信息。 我认为您无法获取未安装的可移动媒体的大小信息。
FindFirstVolume和FindNextVolume 可能是您所需要的。
有一个示例搜索卷并列出每个卷的所有路径,乍一看,似乎允许某些卷不存在这样的路径。 也就是说,我从未使用过。
您也可以尝试使用适用于Python的win32模块。
Win32_DiskDrive
wmi类怎么样?
c = wmi.WMI()
dd = c.Win32_DiskDrive()[0]
print.dd
有关msdn上的 Win32_DiskDrive的更多信息
http://msdn.microsoft.com/en-us/library/aa365730(VS.85).aspx
GetLogicalDrives()GetLogicalDriveStrings()
看起来像你想要的。 但是它们工作的是A:,B:C:等,而不是\\?\\ HardDisk或其他任何东西
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.