如何在Windows上使用Python获取挂载名称和驱动器字母?

1 投票
3 回答
3780 浏览
提问于 2025-04-15 21:48

我在Windows XP机器上使用Daemon工具来挂载一个ISO镜像。我是通过Daemon命令来挂载的,命令是(daemon.exe -mount 0,iso_path)。

这个命令会把ISO镜像挂载到一个设备号上。在我的情况下,我有4个分区(C、D、E、F)和一个用于DVD/CD-RW的G盘。结果是,ISO镜像被挂载到了'H:'这个驱动器字母上,名字是(在创建ISO时定义的)比如说'testmount'。

我有几个问题:

1) 我怎么能获取到挂载的ISO镜像的名字(也就是'testmount')。再举个例子,如果机器上已经有一些挂载点,然后我用Daemon工具创建了一个新的挂载点。如果我能通过脚本获取到最新的那个挂载点,那就太好了。

2) 我怎么能知道它挂载到了哪个驱动器字母上。

如果有人知道用Python脚本或者命令(甚至是Windows命令)来获取这些信息,请告诉我。

谢谢...

3 个回答

0

添加新的覆盖项,从 WMI 控制台输出获取驱动器列表

[i.strip() for i in os.popen('wmic logicaldisk get Name').readlines() if i.strip()<>''][1:]

1

这个守护进程工具的exe文件本身有一些命令行参数:

-get_count 和 -get_letter

不过在我用的最新版本(DLite)里,这些参数似乎不管用。

相反,你可以使用以下命令:

mountvol - 这个命令可以列出所有已经挂载的驱动器

dir - 你可以解析这个命令的输出,来获取卷标

你应该在运行守护进程之前和之后都执行一次mountvol,这样你就能找到新的驱动器字母。之后再用“dir”命令来获取卷标。

我相信你可以在Python中通过os.system()来运行这些命令。

1

你可以通过wmi控制台来列出驱动器:

C:\>wmic logicaldisk get Name, DriveType

驱动器类型的数字值可以帮助你区分不同的驱动器类型。

WMI在这里也可以作为一个Python模块使用,不过这个需要单独安装。

撰写回答