Python复制文件忽略树结构

时间:2015-01-02 22:08:36

标签: python copy

我需要将文件从目录及其子目录复制到唯一的目标目录,再现源目录的树结构(这意味着将文件混合在一起)。

#!/usr/bin/python 
# -*- coding: utf-8 -*- 

import os
import shutil

src  = '/Users/wiltomap/Desktop/depart/paquet'
dest = '/Users/wiltomap/Desktop/arrivee'

for dir, subdir, files in os.walk(src):
    for f in files:
        shutil.copy(f, dest)

......而且代码不起作用!这是我在终端中运行它得到的消息:

IOError: [Errno 2] No such file or directory: 'paquet1.rtf'

' paquet1.rtf'是一个存在于子目录' / paquet / paquet1 /'。

中的文件

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

所以也许像......:

for dir, subdir, files in os.walk(src):
    for f in files:
        targ = os.path.join(dest, f)
        if os.path.exists(targ):
            for i in itertools.count():
                targ = os.path.join(dest, '%s(%s)' % (f, i))
                if not os.path.exists(targ):
                    break
        shutil.copy(os.path.join(dir, f), targ)