Python和跨平台方式列出Linux,Windows和Mac上的磁盘驱动器

Tho*_*s O 10 python cross-platform file disk

我试图列出系统可能具有的磁盘驱动器.

在Windows上,它可能类似于"C:/","D:/","E:/".

在Linux上,它可能类似于"/ boot","/ media/SDCard"等.

我不知道它在Mac上是什么样的.也许/ Volumes下的东西.

有没有人知道Python中的跨平台方式(即在Linux,Windows和Mac上运行的方式)?

谢谢!

哦:快速说明,我正在运行Python 2.6.

Eri*_*ith 13

psutil包(https://pypi.python.org/pypi/psutil)具有disk_partitions函数.

视窗:

>>> import psutil
>>> psutil.disk_partitions()
[sdiskpart(device='C:\\', mountpoint='C:\\', fstype='NTFS', opts='rw,fixed'), sdiskpart(device='D:\\', mountpoint='D:\\', fstype='NTFS', opts='rw,fixed'), sdiskpart(device='E:\\', mountpoint='E:\\', fstype='', opts='cdrom'), sdiskpart(device='F:\\', mountpoint='F:\\', fstype='NTFS', opts='rw,fixed')]
Run Code Online (Sandbox Code Playgroud)

Linux的:

>>> import psutil
>>> psutil.disk_partitions()
[sdiskpart(device='/dev/sda1', mountpoint='/', fstype='ext4', opts='rw,errors=remount-ro'), sdiskpart(device='/dev/sr0', mountpoint='/media/VBOXADDITIONS_4.3.10_93012', fstype='iso9660', opts='ro,nosuid,nodev,uid=1000,gid=1000,iocharset=utf8,mode=0400,dmode=0500,uhelper=udisks')]
Run Code Online (Sandbox Code Playgroud)


msw*_*msw 3

Linux 设备实际上并没有一个统一的命名方案来保证您拥有可格式化的块设备。有一些约定,但它们可能有很大差异,如果我愿意,我可以将我的拇指驱动器称为 /Thomas/O,并且 Python 中没有跨平台的方式来了解:

  1. /Thomas/O 对应于 /dev/sdf1
  2. /dev/sdf1 可以在其上创建 FAT32 文件系统
  3. /dev/sdf 不优于/dev/sdf1

我非常确定,没有跨平台的 Python 模块可以让您确定 H:/ 在 Windows 系统上是可格式化的,但 Z:/ 则不是。

每个系统都需要进行自己的特定检查和验证,您最好通过研究开源磁盘操作软件来学习这些检查和验证。