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

2024-10-04 03:21:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要将目录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

Tags: import目录osfilessortlistwithoutshutil
1条回答
网友
1楼 · 发布于 2024-10-04 03:21:31

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)

相关问题 更多 >