假设我有一个输入文件和一个目标目录。如何确定输入文件是否与目标目录位于同一个硬盘驱动器(或分区)上?如何确定一个目录是否在同一分区
我想要做的是复制一个文件,如果它不同,但移动它,如果它是相同的。例如:
target_directory = "/Volumes/externalDrive/something/"
input_foldername, input_filename = os.path.split(input_file)
if same_partition(input_foldername, target_directory):
copy(input_file, target_directory)
else:
move(input_file, target_directory)
由于CesarB的回答,same_partition
功能实现:
import os
def same_partition(f1, f2):
return os.stat(f1).st_dev == os.stat(f2).st_dev
请注意,这不会在Windows上工作,这会使所有驱动器的st_dev都为0。 (因为他指定了osX和linux标签,可能对提问者不是问题) – Brian 2008-10-30 17:09:59