如何通过保持顺序合并一个目录中的许多目录?

时间:2017-03-29 07:55:02

标签: python numpy

我需要按照时间顺序将目录A中的numpy文件复制到目录B中。

import os
import shutil
DestFolder = 'D:\\Traces_Copie\\Simulations\\Traces4\\Trace4'
SrcFolder  = 'D:\\Traces_Copie\\Simulations\\Traces4\\Trace4_1'
os.chdir(SrcFolder)
list_files_Without_Sort=os.listdir(os.getcwd())
list_files_Sorted=sorted((list_files_Without_Sort),key=os.path.getmtime)
for root, dirs, files in os.walk(list_files_Sorted, topdown=True):
    for name in files:
        SourceFolder = os.path.join(root,name)
        shutil.copy2(SourceFolder, DestFolder)

它给了我这个错误:

    names = listdir(top)

TypeError: coercing to Unicode: need string or buffer, list found

1 个答案:

答案 0 :(得分:1)

os.walk接受一个字符串,但您正在传递一个列表对象。你可以目录而不进行排序(我不明白为什么你需要订购独立的复制操作):

import os
import shutil

destfolder = 'D:\\Traces_Copie\\Simulations\\Traces4\\Trace4'
srcfolder  = 'D:\\Traces_Copie\\Simulations\\Traces4\\Trace4_1'
for root, dirs, files in os.walk(srcfolder, topdown=True):
    for name in files:
        src = os.path.join(root, name)
        shutil.copy2(src, destfolder)