Dites que j'ai un fichier d'entrée et un répertoire cible. Comment puis-je déterminer si le fichier d'entrée se trouve sur le même disque dur (ou partition) que le répertoire cible?Comment déterminer si un répertoire se trouve sur la même partition
Ce que je veux faire est la copie d'un fichier si c'est sur un autre, mais déplacez-le si c'est pareil. Par exemple:
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)
Merci à la réponse de CesarB, la fonction same_partition
mise en œuvre:
import os
def same_partition(f1, f2):
return os.stat(f1).st_dev == os.stat(f2).st_dev
Notez que cela ne fonctionnera pas sous Windows, ce qui laisse st_dev à 0 pour tous les lecteurs. (Probablement pas un problème pour le questionneur puisqu'il spécifie les balises osX et linux) – Brian