有没有一种简单的方法可以找出文件是否与另一个文件在同一个文件系统上?
以下命令:
import shutil
shutil.move('filepatha', 'filepathb')
将尝试重命名该文件(如果它在同一文件系统上),否则它将复制它,然后取消链接。
我想在调用此命令之前找出它是否会执行快速或慢速选项,我该怎么做?
答案 0 :(得分: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