2009-06-09 13 views
4

ファイルが別のファイルと同じファイルシステムにあるかどうかを調べる簡単な方法はありますか?同じファイルシステム上のファイルは、Pythonの別のファイルですか?

次のコマンドを実行します。

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

がしようとすると(それが同じファイルシステム上にある場合)、ファイルの名前を変更し、それ以外の場合は、それをコピーし、その後、リンク解除されます。

このコマンドを呼び出す前に、すばやくまたは遅いオプションを実行するかどうかを調べるにはどうすればよいですか。

+0

なぜ、もう一度知る必要がありますか? – SilentGhost

+0

分散型のタスク・エンジンで多数のマシン間で実行され、タスクを分割する方法を知るために、実際には高速か遅いかを見積もりたい – Dan

答えて

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 
関連する問題