与python中的另一个文件在同一文件系统上的文件?

Dan*_*Dan 4 python filesystems

有没有一种简单的方法可以找出文件是否与另一个文件位于同一文件系统中?

以下命令:

import shutil
shutil.move('filepatha', 'filepathb')
Run Code Online (Sandbox Code Playgroud)

将尝试重命名该文件(如果它在同一文件系统上),否则它将复制它,然后取消链接.

我想在调用此命令之前找出它是否会执行快速或慢速选项,我该怎么做?

Jay*_*rod 10

使用os.stat(在文件名上)或os.fstat(在文件描述符上).该st_dev结果将是设备号.如果它们位于同一文件系统中,则两者都相同.

import os

def same_fs(file1, file2):
    dev1 = os.stat(file1).st_dev
    dev2 = os.stat(file2).st_dev
    return dev1 == dev2
Run Code Online (Sandbox Code Playgroud)