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 ??
Heu, ben j'ai pas tout compris, là... je peux utiliser copytree pour copier une série de fichier dans un nouveau répertoire de mon stick, mais je n'arrive pas à effectuer une copie à la racine...
Est-ce qu'il faut utiliser une autre méthode ??
Cordialement,
Thierry
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:mydocumentsmes distributionsdist2" print a D:mydocumentsmes distributionsdist2
b = "G:" print b G:
shutil.copytree( a, b ) Traceback (most recent call last):
File "<stdin>", line 1, in ? File "C:devpythonpython23libshutil.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
Heu, ben j'ai pas tout compris, là... je peux utiliser copytree pour
copier une série de fichier dans un nouveau répertoire de mon stick,
mais je n'arrive pas à effectuer une copie à la racine...
Est-ce qu'il faut utiliser une autre méthode ??
Cordialement,
Thierry
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:mydocumentsmes distributionsdist2"
print a
D:mydocumentsmes distributionsdist2
b = "G:\"
print b
G:
shutil.copytree( a, b )
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "C:devpythonpython23libshutil.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 ??
Heu, ben j'ai pas tout compris, là... je peux utiliser copytree pour copier une série de fichier dans un nouveau répertoire de mon stick, mais je n'arrive pas à effectuer une copie à la racine...
Est-ce qu'il faut utiliser une autre méthode ??
Cordialement,
Thierry
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:mydocumentsmes distributionsdist2" print a D:mydocumentsmes distributionsdist2
b = "G:" print b G:
shutil.copytree( a, b ) Traceback (most recent call last):
File "<stdin>", line 1, in ? File "C:devpythonpython23libshutil.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
R12y
On Thu, 10 Nov 2005 16:19:24 +0100, Titouille wrote:
mais je mets un double pour qu'il le considère comme un simple, sinon il essaye "d'échapper" le caractère guillemets de fin.
Donc si j'en mets 3, il considère ça comme une erreur de syntaxe... j'ai essayé de rajouter 2 backslashes (donc \) mais ça ne change pas le problème, c'est toujours un "Permission denied"... :(
Merci quand même pour la suggestion :)
On Thu, 10 Nov 2005 16:19:24 +0100, Titouille wrote:
Est-ce qu'il faut utiliser une autre méthode ??
G: au lien de G: ? "Peut-etre", hein...
Y semblerai que non...
mais je mets un double pour qu'il le considère comme un simple, sinon il
essaye "d'échapper" le caractère guillemets de fin.
Donc si j'en mets 3, il considère ça comme une erreur de syntaxe... j'ai
essayé de rajouter 2 backslashes (donc \\) mais ça ne change pas le
problème, c'est toujours un "Permission denied"... :(
Merci quand même pour la suggestion :)
On Thu, 10 Nov 2005 16:19:24 +0100, Titouille wrote:
mais je mets un double pour qu'il le considère comme un simple, sinon il essaye "d'échapper" le caractère guillemets de fin.
Donc si j'en mets 3, il considère ça comme une erreur de syntaxe... j'ai essayé de rajouter 2 backslashes (donc \) mais ça ne change pas le problème, c'est toujours un "Permission denied"... :(
Merci quand même pour la suggestion :)
On Thu, 10 Nov 2005 16:19:24 +0100, Titouille wrote:
Est-ce qu'il faut utiliser une autre méthode ??
G: au lien de G: ? "Peut-etre", hein...
Nicolas
Titouille wrote:
Bonjour à tous !!
Bonjour.
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:mydocumentsmes distributionsdist2" print a D:mydocumentsmes distributionsdist2
b = "G:" print b G:
shutil.copytree( a, b ) Traceback (most recent call last):
File "<stdin>", line 1, in ? File "C:devpythonpython23libshutil.py", line 101, in copytree os.mkdir(dst) OSError: [Errno 13] Permission denied: 'G:'
Vous devez préciser le répertoire de destination :
a = "c:test" b = "D:test" shutil.copytree( a, b ) <- pas de probleme shutil.copytree( a, b ) Traceback (most recent call last):
File "<stdin>", line 1, in ? File "C:Python24libshutil.py", line 111, in copytree os.mkdir(dst) OSError: [Errno 17] File exists: 'D:test'
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
Nicolas.
Titouille wrote:
Bonjour à tous !!
Bonjour.
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:mydocumentsmes distributionsdist2"
print a
D:mydocumentsmes distributionsdist2
b = "G:\"
print b
G:
shutil.copytree( a, b )
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "C:devpythonpython23libshutil.py", line 101, in copytree
os.mkdir(dst)
OSError: [Errno 13] Permission denied: 'G:\'
Vous devez préciser le répertoire de destination :
a = "c:\test"
b = "D:\test"
shutil.copytree( a, b ) <- pas de probleme
shutil.copytree( a, b )
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "C:Python24libshutil.py", line 111, in copytree
os.mkdir(dst)
OSError: [Errno 17] File exists: 'D:\test'
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 ??
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:mydocumentsmes distributionsdist2" print a D:mydocumentsmes distributionsdist2
b = "G:" print b G:
shutil.copytree( a, b ) Traceback (most recent call last):
File "<stdin>", line 1, in ? File "C:devpythonpython23libshutil.py", line 101, in copytree os.mkdir(dst) OSError: [Errno 13] Permission denied: 'G:'
Vous devez préciser le répertoire de destination :
a = "c:test" b = "D:test" shutil.copytree( a, b ) <- pas de probleme shutil.copytree( a, b ) Traceback (most recent call last):
File "<stdin>", line 1, in ? File "C:Python24libshutil.py", line 111, in copytree os.mkdir(dst) OSError: [Errno 17] File exists: 'D:test'
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
Nicolas.
Titouille
Ben mé heu...
le but c'est de copier le contenu du dossier source à la racine du lecteur, pas dans un sous répertoire, sinon ça fausse tout le reste... :(
Donc j'en déduis qu'il faut que je fasse une boucle qui va copier fichier par fichier...
Merci pour les infos.
a++
Thierry
Titouille wrote:
Bonjour à tous !!
Bonjour.
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:mydocumentsmes distributionsdist2" print a
D:mydocumentsmes distributionsdist2
b = "G:" print b
G:
shutil.copytree( a, b )
Traceback (most recent call last): File "<stdin>", line 1, in ? File "C:devpythonpython23libshutil.py", line 101, in copytree os.mkdir(dst) OSError: [Errno 13] Permission denied: 'G:'
Vous devez préciser le répertoire de destination :
a = "c:test" b = "D:test" shutil.copytree( a, b ) <- pas de probleme shutil.copytree( a, b )
Traceback (most recent call last): File "<stdin>", line 1, in ? File "C:Python24libshutil.py", line 111, in copytree os.mkdir(dst) OSError: [Errno 17] File exists: 'D:test'
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
Nicolas.
Ben mé heu...
le but c'est de copier le contenu du dossier source à la racine du
lecteur, pas dans un sous répertoire, sinon ça fausse tout le reste... :(
Donc j'en déduis qu'il faut que je fasse une boucle qui va copier
fichier par fichier...
Merci pour les infos.
a++
Thierry
Titouille wrote:
Bonjour à tous !!
Bonjour.
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:mydocumentsmes distributionsdist2"
print a
D:mydocumentsmes distributionsdist2
b = "G:\"
print b
G:
shutil.copytree( a, b )
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "C:devpythonpython23libshutil.py", line 101, in copytree
os.mkdir(dst)
OSError: [Errno 13] Permission denied: 'G:\'
Vous devez préciser le répertoire de destination :
a = "c:\test"
b = "D:\test"
shutil.copytree( a, b ) <- pas de probleme
shutil.copytree( a, b )
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "C:Python24libshutil.py", line 111, in copytree
os.mkdir(dst)
OSError: [Errno 17] File exists: 'D:\test'
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 ??
le but c'est de copier le contenu du dossier source à la racine du lecteur, pas dans un sous répertoire, sinon ça fausse tout le reste... :(
Donc j'en déduis qu'il faut que je fasse une boucle qui va copier fichier par fichier...
Merci pour les infos.
a++
Thierry
Titouille wrote:
Bonjour à tous !!
Bonjour.
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:mydocumentsmes distributionsdist2" print a
D:mydocumentsmes distributionsdist2
b = "G:" print b
G:
shutil.copytree( a, b )
Traceback (most recent call last): File "<stdin>", line 1, in ? File "C:devpythonpython23libshutil.py", line 101, in copytree os.mkdir(dst) OSError: [Errno 13] Permission denied: 'G:'
Vous devez préciser le répertoire de destination :
a = "c:test" b = "D:test" shutil.copytree( a, b ) <- pas de probleme shutil.copytree( a, b )
Traceback (most recent call last): File "<stdin>", line 1, in ? File "C:Python24libshutil.py", line 111, in copytree os.mkdir(dst) OSError: [Errno 17] File exists: 'D:test'
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
Nicolas.
Titouille
Bon, ben c'est pas gagné...
Voilà ce que j'ai trouvé / implémenté pour tenter une copie, mais le résultat, bien que fonctionnel, est lent au possible... plusieurs minutes pour copier 8 Mo de données...
for path, dirs, files in os.walk(source): for fn in files: file = os.path.join(path, fn) target = TARGET[0:-1] + os.path.normpath(file)[len(source):] print target try: shutil.copyfile(file, target)
except IOError, (errcode, message): if errcode == errno.ENOENT: # create directory and try again os.makedirs(os.path.dirname(target)) shutil.copyfile(file, target) else: raise
Pas très convaincant, quoi... :(
Est-ce que quelqu'un voit une optimisation qui puisse rendre le processus plus rapide ?? encore une autre façon de faire ??
D'avance merci.
Thierry
Ben mé heu...
le but c'est de copier le contenu du dossier source à la racine du lecteur, pas dans un sous répertoire, sinon ça fausse tout le reste... :(
Donc j'en déduis qu'il faut que je fasse une boucle qui va copier fichier par fichier...
Merci pour les infos.
a++
Thierry
Titouille wrote:
Bonjour à tous !!
Bonjour.
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:mydocumentsmes distributionsdist2" print a
D:mydocumentsmes distributionsdist2
b = "G:" print b
G:
shutil.copytree( a, b )
Traceback (most recent call last): File "<stdin>", line 1, in ? File "C:devpythonpython23libshutil.py", line 101, in copytree os.mkdir(dst) OSError: [Errno 13] Permission denied: 'G:'
Vous devez préciser le répertoire de destination :
a = "c:test" b = "D:test" shutil.copytree( a, b ) <- pas de probleme shutil.copytree( a, b )
Traceback (most recent call last): File "<stdin>", line 1, in ? File "C:Python24libshutil.py", line 111, in copytree os.mkdir(dst) OSError: [Errno 17] File exists: 'D:test'
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
Nicolas.
Bon, ben c'est pas gagné...
Voilà ce que j'ai trouvé / implémenté pour tenter une copie, mais le
résultat, bien que fonctionnel, est lent au possible... plusieurs
minutes pour copier 8 Mo de données...
for path, dirs, files in os.walk(source):
for fn in files:
file = os.path.join(path, fn)
target = TARGET[0:-1] + os.path.normpath(file)[len(source):]
print target
try:
shutil.copyfile(file, target)
except IOError, (errcode, message):
if errcode == errno.ENOENT:
# create directory and try again
os.makedirs(os.path.dirname(target))
shutil.copyfile(file, target)
else:
raise
Pas très convaincant, quoi... :(
Est-ce que quelqu'un voit une optimisation qui puisse rendre le
processus plus rapide ?? encore une autre façon de faire ??
D'avance merci.
Thierry
Ben mé heu...
le but c'est de copier le contenu du dossier source à la racine du
lecteur, pas dans un sous répertoire, sinon ça fausse tout le reste... :(
Donc j'en déduis qu'il faut que je fasse une boucle qui va copier
fichier par fichier...
Merci pour les infos.
a++
Thierry
Titouille wrote:
Bonjour à tous !!
Bonjour.
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:mydocumentsmes distributionsdist2"
print a
D:mydocumentsmes distributionsdist2
b = "G:\"
print b
G:
shutil.copytree( a, b )
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "C:devpythonpython23libshutil.py", line 101, in copytree
os.mkdir(dst)
OSError: [Errno 13] Permission denied: 'G:\'
Vous devez préciser le répertoire de destination :
a = "c:\test"
b = "D:\test"
shutil.copytree( a, b ) <- pas de probleme
shutil.copytree( a, b )
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "C:Python24libshutil.py", line 111, in copytree
os.mkdir(dst)
OSError: [Errno 17] File exists: 'D:\test'
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 ??
Voilà ce que j'ai trouvé / implémenté pour tenter une copie, mais le résultat, bien que fonctionnel, est lent au possible... plusieurs minutes pour copier 8 Mo de données...
for path, dirs, files in os.walk(source): for fn in files: file = os.path.join(path, fn) target = TARGET[0:-1] + os.path.normpath(file)[len(source):] print target try: shutil.copyfile(file, target)
except IOError, (errcode, message): if errcode == errno.ENOENT: # create directory and try again os.makedirs(os.path.dirname(target)) shutil.copyfile(file, target) else: raise
Pas très convaincant, quoi... :(
Est-ce que quelqu'un voit une optimisation qui puisse rendre le processus plus rapide ?? encore une autre façon de faire ??
D'avance merci.
Thierry
Ben mé heu...
le but c'est de copier le contenu du dossier source à la racine du lecteur, pas dans un sous répertoire, sinon ça fausse tout le reste... :(
Donc j'en déduis qu'il faut que je fasse une boucle qui va copier fichier par fichier...
Merci pour les infos.
a++
Thierry
Titouille wrote:
Bonjour à tous !!
Bonjour.
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:mydocumentsmes distributionsdist2" print a
D:mydocumentsmes distributionsdist2
b = "G:" print b
G:
shutil.copytree( a, b )
Traceback (most recent call last): File "<stdin>", line 1, in ? File "C:devpythonpython23libshutil.py", line 101, in copytree os.mkdir(dst) OSError: [Errno 13] Permission denied: 'G:'
Vous devez préciser le répertoire de destination :
a = "c:test" b = "D:test" shutil.copytree( a, b ) <- pas de probleme shutil.copytree( a, b )
Traceback (most recent call last): File "<stdin>", line 1, in ? File "C:Python24libshutil.py", line 111, in copytree os.mkdir(dst) OSError: [Errno 17] File exists: 'D:test'
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
Nicolas.
Amaury
Bonjour,
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... ...
Est-ce que quelqu'un pourrai m'orienter vers une solution alternative ou une astuce pour régler l'exception ??
C'est parce que copytree crée le répertoire de destination. As-tu essayé de modifier la fonction shutil.copytree ? C'est-à-dire, de le recopier le code source (il est dans Libshutil.py) et de le changer selon tes besoins. Dans ton cas, il semble qu'il suffit de protéger l'appel à os.mkdir : try: os.mkdir(dst) except IOError: pass
-- Amaury
Bonjour,
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...
...
Est-ce que quelqu'un pourrai m'orienter vers une solution alternative ou
une astuce pour régler l'exception ??
C'est parce que copytree crée le répertoire de destination.
As-tu essayé de modifier la fonction shutil.copytree ?
C'est-à-dire, de le recopier le code source (il est dans Libshutil.py)
et de le changer selon tes besoins.
Dans ton cas, il semble qu'il suffit de protéger l'appel à os.mkdir :
try:
os.mkdir(dst)
except IOError:
pass
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... ...
Est-ce que quelqu'un pourrai m'orienter vers une solution alternative ou une astuce pour régler l'exception ??
C'est parce que copytree crée le répertoire de destination. As-tu essayé de modifier la fonction shutil.copytree ? C'est-à-dire, de le recopier le code source (il est dans Libshutil.py) et de le changer selon tes besoins. Dans ton cas, il semble qu'il suffit de protéger l'appel à os.mkdir : try: os.mkdir(dst) except IOError: pass
-- Amaury
Do Re Mi chel La Si Do
Bonjour !
J'arrive après la bataille, à cause d'une semaine très chargée (boulot, boulot).
Il me semble que tu es sous windows. Donc, tu pourrais tester cette (autre) méthode :
import os a = 'D:mydocuments"mes distributions"dist2' b = 'G:' c = 'xcopy '+a+'*.* '+b+' /S/C/Y' os.popen4(c)
Attention aux guillemets, pour contrôler l'espace dans le nom du répertoire. A noter que, si le nom du répertoire ne contient pas d'espace, il est possible d'omettre '*.*'
Les paramètres du xcopy utilisés sont : /S pour traiter les sous-répertoires /C pour continuer la copie, même si on tombe sur une erreur (genre accès refusé) /Y pour surcharger les question avec "Yes" (e.g. pour écraser les fichiers de destination).
Autre détail, la version ci-dessous fait la même chose, en retournant l'information du traitement :
import os a = 'D:mydocuments"mes distributions"dist2' b = 'G:' c = 'xcopy '+a+'*.* '+b+' /S/C/Y' d=os.popen4(c) d[0].flush() info =d[1].readlines() for lig in info: print lig,
@-salutations
Michel Claveau
Bonjour !
J'arrive après la bataille, à cause d'une semaine très chargée (boulot,
boulot).
Il me semble que tu es sous windows. Donc, tu pourrais tester cette (autre)
méthode :
import os
a = 'D:mydocuments"mes distributions"dist2'
b = 'G:\'
c = 'xcopy '+a+'\*.* '+b+' /S/C/Y'
os.popen4(c)
Attention aux guillemets, pour contrôler l'espace dans le nom du répertoire.
A noter que, si le nom du répertoire ne contient pas d'espace, il est
possible d'omettre '\*.*'
Les paramètres du xcopy utilisés sont :
/S pour traiter les sous-répertoires
/C pour continuer la copie, même si on tombe sur une erreur (genre accès
refusé)
/Y pour surcharger les question avec "Yes" (e.g. pour écraser les
fichiers de destination).
Autre détail, la version ci-dessous fait la même chose, en retournant
l'information du traitement :
import os
a = 'D:mydocuments"mes distributions"dist2'
b = 'G:\'
c = 'xcopy '+a+'\*.* '+b+' /S/C/Y'
d=os.popen4(c)
d[0].flush()
info =d[1].readlines()
for lig in info:
print lig,
J'arrive après la bataille, à cause d'une semaine très chargée (boulot, boulot).
Il me semble que tu es sous windows. Donc, tu pourrais tester cette (autre) méthode :
import os a = 'D:mydocuments"mes distributions"dist2' b = 'G:' c = 'xcopy '+a+'*.* '+b+' /S/C/Y' os.popen4(c)
Attention aux guillemets, pour contrôler l'espace dans le nom du répertoire. A noter que, si le nom du répertoire ne contient pas d'espace, il est possible d'omettre '*.*'
Les paramètres du xcopy utilisés sont : /S pour traiter les sous-répertoires /C pour continuer la copie, même si on tombe sur une erreur (genre accès refusé) /Y pour surcharger les question avec "Yes" (e.g. pour écraser les fichiers de destination).
Autre détail, la version ci-dessous fait la même chose, en retournant l'information du traitement :
import os a = 'D:mydocuments"mes distributions"dist2' b = 'G:' c = 'xcopy '+a+'*.* '+b+' /S/C/Y' d=os.popen4(c) d[0].flush() info =d[1].readlines() for lig in info: print lig,
@-salutations
Michel Claveau
Titouille
Pas de souci Michel ;) le boulot d'abord :p :)
Sinon, oui, j'ai trouvé sur le net un exemple qui allait dans le même sens que le tien. Au final :
Et ça fonctionne très bien, sauf que j'ai une fenêtre dos qui s'ouvre. mais ce n'est pas un problème, ça permet même de montrer quand il y a un processus en cours, donc c'est un moindre mal :)
Merci Amaury pour ton idée de reprendre la fonction copytree, je n'y avais pas pensé. Si je veux supprimer la fenêtre dos, je sais ce qu'il me restera à faire ;)
A++
Bonjour !
J'arrive après la bataille, à cause d'une semaine très chargée (boulot, boulot).
Il me semble que tu es sous windows. Donc, tu pourrais tester cette (autre) méthode :
import os a = 'D:mydocuments"mes distributions"dist2' b = 'G:' c = 'xcopy '+a+'*.* '+b+' /S/C/Y' os.popen4(c)
Attention aux guillemets, pour contrôler l'espace dans le nom du répertoire. A noter que, si le nom du répertoire ne contient pas d'espace, il est possible d'omettre '*.*'
Les paramètres du xcopy utilisés sont : /S pour traiter les sous-répertoires /C pour continuer la copie, même si on tombe sur une erreur (genre accès refusé) /Y pour surcharger les question avec "Yes" (e.g. pour écraser les fichiers de destination).
Autre détail, la version ci-dessous fait la même chose, en retournant l'information du traitement :
import os a = 'D:mydocuments"mes distributions"dist2' b = 'G:' c = 'xcopy '+a+'*.* '+b+' /S/C/Y' d=os.popen4(c) d[0].flush() info =d[1].readlines() for lig in info: print lig,
@-salutations
Michel Claveau
Pas de souci Michel ;) le boulot d'abord :p :)
Sinon, oui, j'ai trouvé sur le net un exemple qui allait dans le même
sens que le tien. Au final :
Et ça fonctionne très bien, sauf que j'ai une fenêtre dos qui s'ouvre.
mais ce n'est pas un problème, ça permet même de montrer quand il y a un
processus en cours, donc c'est un moindre mal :)
Merci Amaury pour ton idée de reprendre la fonction copytree, je n'y
avais pas pensé.
Si je veux supprimer la fenêtre dos, je sais ce qu'il me restera à faire ;)
A++
Bonjour !
J'arrive après la bataille, à cause d'une semaine très chargée (boulot,
boulot).
Il me semble que tu es sous windows. Donc, tu pourrais tester cette (autre)
méthode :
import os
a = 'D:mydocuments"mes distributions"dist2'
b = 'G:\'
c = 'xcopy '+a+'\*.* '+b+' /S/C/Y'
os.popen4(c)
Attention aux guillemets, pour contrôler l'espace dans le nom du répertoire.
A noter que, si le nom du répertoire ne contient pas d'espace, il est
possible d'omettre '\*.*'
Les paramètres du xcopy utilisés sont :
/S pour traiter les sous-répertoires
/C pour continuer la copie, même si on tombe sur une erreur (genre accès
refusé)
/Y pour surcharger les question avec "Yes" (e.g. pour écraser les
fichiers de destination).
Autre détail, la version ci-dessous fait la même chose, en retournant
l'information du traitement :
import os
a = 'D:mydocuments"mes distributions"dist2'
b = 'G:\'
c = 'xcopy '+a+'\*.* '+b+' /S/C/Y'
d=os.popen4(c)
d[0].flush()
info =d[1].readlines()
for lig in info:
print lig,
Et ça fonctionne très bien, sauf que j'ai une fenêtre dos qui s'ouvre. mais ce n'est pas un problème, ça permet même de montrer quand il y a un processus en cours, donc c'est un moindre mal :)
Merci Amaury pour ton idée de reprendre la fonction copytree, je n'y avais pas pensé. Si je veux supprimer la fenêtre dos, je sais ce qu'il me restera à faire ;)
A++
Bonjour !
J'arrive après la bataille, à cause d'une semaine très chargée (boulot, boulot).
Il me semble que tu es sous windows. Donc, tu pourrais tester cette (autre) méthode :
import os a = 'D:mydocuments"mes distributions"dist2' b = 'G:' c = 'xcopy '+a+'*.* '+b+' /S/C/Y' os.popen4(c)
Attention aux guillemets, pour contrôler l'espace dans le nom du répertoire. A noter que, si le nom du répertoire ne contient pas d'espace, il est possible d'omettre '*.*'
Les paramètres du xcopy utilisés sont : /S pour traiter les sous-répertoires /C pour continuer la copie, même si on tombe sur une erreur (genre accès refusé) /Y pour surcharger les question avec "Yes" (e.g. pour écraser les fichiers de destination).
Autre détail, la version ci-dessous fait la même chose, en retournant l'information du traitement :
import os a = 'D:mydocuments"mes distributions"dist2' b = 'G:' c = 'xcopy '+a+'*.* '+b+' /S/C/Y' d=os.popen4(c) d[0].flush() info =d[1].readlines() for lig in info: print lig,
@-salutations
Michel Claveau
Do Re Mi chel La Si Do
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 -- Michel Claveau
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