使用Python在Linux上学习目录的物理磁盘

utd*_*mir 1 python linux

首先,抱歉我的英语不好.

我正在编写一个python脚本,它比较两个不同目录中的文件.但是为了性能,我想知道:"目录是否在同一物理磁盘上?",所以我可以同时读取它们以获得性能提升.

我目前的想法是获取"mount"命令输出,并获取/ dev/sd*目录路径并使用它们来识别磁盘.但有时你可以在其他地方安装一个已安装的目录(或类似的东西,我不太确定),所以事情变得复杂了.

有没有更好的方法来做到这一点,比如图书馆?

(如果有跨平台的方式,我会更感激,但似乎很难找到像这样的跨平台库.)

Dan*_*tca 5

您正在寻找linux中的stat函数,python也提供给您(参见http://docs.python.org/library/os.html#os.stat).

您必须比较结果结构中的st_dev,如果它们匹配,则两个文件将位于同一文件系统上.

使用此功能就像你可以获得的那样便携(比mount或df更好).

额外奖励:您不必运行昂贵的exec调用,并且可以进行容易出错的文本解析.

  • 是.安装时,每个文件系统都有不同的设备ID; 它驻留在哪里(在本地磁盘上,在内存中 - 例如tmpfs - 或在网络上的另一台计算机上)并不重要. (2认同)