OVH Cloud OVH Cloud

shutil.copytree et les permissions

12 réponses
Avatar
Titouille
Bonjour à tous !!

Voilà mon problème... je tente de créer un générateur, qui me permette
diverses sélection, puis lance une copie d'un certain nombre de fichiers
sur un support amovible.

Donc pour ce faire, je pensais utiliser simplement la méthode copytree,
mais il semblerai que je n'aie pas la permission d'écrire sur le support...

voilà un exemple :

>>> import shutil
>>> a = "D:\mydocuments\mes distributions\dist2"
>>> print a
D:\mydocuments\mes distributions\dist2
>>> b = "G:\\"
>>> print b
G:\
>>> shutil.copytree( a, b )
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "C:\dev\python\python23\lib\shutil.py", line 101, in copytree
os.mkdir(dst)
OSError: [Errno 13] Permission denied: 'G:\\'


G:\ correspond bien à un lecteur valide sur lequel est connecté un stick
USB...

Est-ce que quelqu'un pourrai m'orienter vers une solution alternative ou
une astuce pour régler l'exception ??

D'avance merci


Thierry

2 réponses

1 2
Avatar
Do Re Mi chel La Si Do
Re !


J'ai oublié de rappeler une option intéressante de XCOPY : /D
Cela permet de ne copier que les fichiers plus récents, ou qui manquent dans
la destination.

Et, pour les usages plus avancés de copie/synchro de répertoires/fichiers,
il y a robotcopy.exe (dispo dans les kits de ressources techniques de
windows). Les avantages vont de la synchronisation de répertoires, à
l'utilisation en tâche de fond, en passant par la gestion des ressources
processeur, ou des plages horaires autorisées.


@-salutations

Michel Claveau
Avatar
Titouille
Bon à savoir :) Merci également pour les infos sur les options xcopy et
robotcopy ;)

A++

Thierry


Bonsoir !


En passant par popen (ou popen4) :
- il n'y aura pas de fenêtre DOS
- on peut récupérer les informations fournies par le DOS


@-salutations


1 2