python使用subprocess模块列举所以磁盘分区
时间: 2023-09-17 08:10:21 浏览: 144
可以使用 `subprocess` 模块调用操作系统的命令来列举所有磁盘分区。
在 Windows 系统中,可以使用 `wmic` 命令来获取磁盘分区信息,具体命令如下:
```python
import subprocess
result = subprocess.run(["wmic", "logicaldisk", "get", "name"], capture_output=True, text=True)
output = result.stdout.strip().split("\n")[1:]
for drive in output:
print(drive.strip())
```
在 Linux 或者 macOS 系统中,可以使用 `lsblk` 命令来获取磁盘分区信息,具体命令如下:
```python
import subprocess
result = subprocess.run(["lsblk", "-o", "NAME,MOUNTPOINT", "-J"], capture_output=True, text=True)
output = result.stdout.strip()
if output:
import json
data = json.loads(output)
for device in data["blockdevices"]:
if "children" in device:
for child in device["children"]:
if "mountpoint" in child and child["mountpoint"]:
print(child["name"], child["mountpoint"])
elif "mountpoint" in device and device["mountpoint"]:
print(device["name"], device["mountpoint"])
else:
print("No block devices found.")
```
上述代码可以获取到所有已挂载的磁盘分区和其挂载点。
阅读全文