l'utilisation efficace de python shutil copy2
-
12-10-2019 - |
Question
si nous prenons un coup d'oeil à la fonction de copie de fichiers, nous pouvons voir qu'il ya plusieurs exceptions à gérer. Un bon exemple est ici: http://msdn.microsoft.com/en-us /library/9706cfs5.aspx
ma question est de savoir si j'utilise python shutil copy2, que dois-je faire attention à faire face à diverses exceptions (fichier source introuvable, accès non autorisé, etc.)?
par exemple.
def copy_file (self):
if not os.path.isdir(dest_path):
os.makedirs(dest_path)
shutil.copy2(src_path, dest_path)
Que dois-je faire pour la fonction ci-dessus?
La solution
Vous pouvez juste besoin gérer l'exception de IOError
qui peut être due à des autorisations ou question du nom de destination non valide.
try:
shutil.copy(src,dst)
except IOError as e:
print e
Les autres exceptions mentionnées dans l'article MSDN semble tomber sous le même IOError en python. Le FileNotFound et DirectoryNotFound ne sont pas vraiment applicables à shutil.copy va créer la destination si elle existe déjà. Aussi, je trouve que cela se produise de OSError sont également à distance ce dans le cas.