Файл в той же файловой системе, что и другой файл в Python? - PullRequest
4 голосов
/ 09 июня 2009

Есть ли простой способ выяснить, находится ли файл в той же файловой системе, что и другой файл?

Следующая команда:

import shutil
shutil.move('filepatha', 'filepathb')

попытается переименовать файл (если он находится в той же файловой системе), в противном случае он скопирует его, затем отменит связь.

Я хочу выяснить перед вызовом этой команды, будет ли она преформовать быстрый или медленный вариант, как мне это сделать?

1 Ответ

10 голосов
/ 09 июня 2009

Используйте 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...