Hello,
j'ai un petit soucis avec le modue shutil.
Je cherche à copier un repertoire vers un autre.

J'utilise donc ce code

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
import os
import shutil
import markdown
 
md = markdown.Markdown()
sources = '/home/seb/dev/chocapic/sources/'
output = '/home/seb/dev/chocapic/www/'
entries = []
 
for root, subdirs, files in os.walk(sources):            
    relative = root[len(sources):].lstrip(os.sep)    
    for f in files:               
        entries.append(os.path.join(relative, f))
 
 
for entry in entries:    
    src = os.path.join(sources, entry)
    dst = os.path.join(output, entry)
    shutil.copytree(src, dst)
le probleme c'est que j'ai cette erreur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
IOError: [Errno 2] No such file or directory:
C'est la que je ne comprends pas parce que la doc de copytree nous dit que les repertoires sont créés si ils n'existent pas.

Alors j'ai essayé de faire comme ca :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
    if os.path.isdir(src):
        shutil.copystat(dst)
    elif os.path.isfile(src):
        shutil.copy2(src, dst)
ca passe pas, meme si je remplace shutil.copystat par os.path.mkdir.

Une idée ?